Cpp的Class和Object
本文参考这里
定义Class
class [class_name]
{
}[obj_name]; //注意分号
定义Object
class_name obj_name;
访问member
访问成员的运算符: “.”
obj_name.member;
一些细节
范围解析操作符 scope resolution operator
“::”
访问权的限定(参见C++11/n3337之11章和子类的继承方式):
访问权 | public | protected | private |
---|---|---|---|
class内/友 | y | y | y |
子的class和友 | y | y | |
外部 | y |
class内的成员,默认访问权限是private
。
构造&析构
- 构造
- 普通式初始化
- 列表式初始化
:var1(v1),var2(v2)
- 拷贝构造
class_name(const class_name &obj)
- 浅拷贝
- 深拷贝
- 析构
~class_name(void)
,无参数无返回值
- 构造
friend
this指针、指向对象的指针
->
static
成员- 变量:只能放在class外面初始化
- 函数:只能访问静态成员、或class外的函数