游戏开发之类和对象的基本概念(C++基础)

759 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

游戏开发之类和对象的基本概念(C++基础)

类是对事物的抽象描述,对象是类实体或者物体的具体描述。

	//结构体的抽象描述
	struct A
	{
		int a;
	};

	//定义结构体对象的实体
	struct A a;

1.C++中的结构体和类

  1. 在C++中结构体和类几乎是一样的。
  2. C和C++中的结构体的区别: ①C中没有继承、C++中有继承; ②C中没有成员函数、C++中有成员函数; ③C中没有权限、C++中有权限并且权限默认为public(共有权限); ④C中使用结构体必须要添加struct关键字、C++中使用结构体不需要添加struct关键字; ⑤类的封装:现实事物在计算机中的描述,包含但不限于事物自身的属性和事物的行为。
  3. C++中struct和class的区别:struct默认权限是public,class默认权限是private。

2.C++类的声明和定义

2.1 类的声明

语法: class 类名 {   [权限描述符:]      //成员变量      数据类型 变量名1;      数据类型 变量名2;      //成员函数      数据类型 函数名(参数列表){函数体;]   [权限描述符:]      //成员变量      数据类型 变量名3;      数据类型 变量名4;      //成员函数      数据类型 函数名(参数列表){函数体;] };

2.2 权限描述符

权限描述符是限制类的外部是否可以直接访问成员变量和成员函数。

  1. public 公有权限,类外部可以直接访问。
  2. private 私有权限,只允许类的内部访问。
  3. protected 在没有涉及继承与派生时private 和 protected 是同等级的, 外部不允许访问。
  4. 权限全部都是针对于类的外部来说的。
  5. 类的默认权限为私有权限。

2.3 类的定义

语法:类名 变量名;

2.4 实例

	class B
	{
	public://设置下列权限全为公有权限
		int a;
		//成员函数可以直接访问和设置成员变量
		//哪个类实体变量调用,则采用对应成员变量的值
		void PrintA()
		{
			printf("%d\n", a);
		}
		//由于私有变量不能直接设置值,所以需要利用初始化函数来初始化
		//如果是类内部使用的函数,则设置为私有成员函数,否则需要公开出来
		//最好尽量少暴露成员函数,接口越简单越好,参数也越少越好
		void Init(int a_, int b_, int c_)
		{
			a = a_;
			b = b_;
			c = c_;
		}

	private://设置下列权限为私有权限
		int b;
	protected:
		int c;
	};
	
	int main()
	{
		//类的定义
		//类名 变量名;
		B b;
		b.a = 100;
		B b1;
		b1.a = 200;
		b1.Init(1, 2, 3);
		b.PrintA();
		b1.PrintA();
		return 0;
	}

版本声明:本文为CSDN博主[ufgnix0802]的原创文章。
原文链接:(blog.csdn.net/qq135595696…)