本文已参与「新人创作礼」活动,一起开启掘金创作之路。
游戏开发之类和对象的基本概念(C++基础)
类是对事物的抽象描述,对象是类实体或者物体的具体描述。
//结构体的抽象描述
struct A
{
int a;
};
//定义结构体对象的实体
struct A a;
1.C++中的结构体和类
- 在C++中结构体和类几乎是一样的。
- C和C++中的结构体的区别: ①C中没有继承、C++中有继承; ②C中没有成员函数、C++中有成员函数; ③C中没有权限、C++中有权限并且权限默认为public(共有权限); ④C中使用结构体必须要添加struct关键字、C++中使用结构体不需要添加struct关键字; ⑤类的封装:现实事物在计算机中的描述,包含但不限于事物自身的属性和事物的行为。
- C++中struct和class的区别:struct默认权限是public,class默认权限是private。
2.C++类的声明和定义
2.1 类的声明
语法: class 类名 { [权限描述符:] //成员变量 数据类型 变量名1; 数据类型 变量名2; //成员函数 数据类型 函数名(参数列表){函数体;] [权限描述符:] //成员变量 数据类型 变量名3; 数据类型 变量名4; //成员函数 数据类型 函数名(参数列表){函数体;] };
2.2 权限描述符
权限描述符是限制类的外部是否可以直接访问成员变量和成员函数。
- public 公有权限,类外部可以直接访问。
- private 私有权限,只允许类的内部访问。
- protected 在没有涉及继承与派生时private 和 protected 是同等级的, 外部不允许访问。
- 权限全部都是针对于类的外部来说的。
- 类的默认权限为私有权限。
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…)