一. 访问限定符:类中的访问限定符包括 public,private 和 protect,其中最常用的为 public 和 private,private 中的内容不可见,而 public 中的内容包括对 public 中的数据成员进行封装以及其他功能.
二. 对象实例化:包括从栈中实例化(class TV{},TV tv/TV tv[20]),和从堆中实例化(class TV{},TV *p=new TV()/TV *q=new TV[20])即申请内存的方式,需要注意的是从堆中实例化后需要通过 delete p ,delete []q 释放内存.
三. 对象成员访问方式:从栈中实例化时:如 TV tv;tv.type=0;tv.changevol();
TV tv[20];tv[1].type=0;tv[1]changevol();.......
从堆中实例化时:如 TV *p=new TV();p->type=0;
TV*q=new TV[20];p[1].type=0;
四. 类外定义:即成员函数在类中声明,在类外定义,用法为 数据类型 类名::函数名 {},包括同文件定义与分文件定义,分文件定义即为在. h 文件中定义类并声明函数,再在. cpp 文件中定义成员函数,定义时. cpp 文件需包含头文件 #include"类名. h", 最后用另一个. cpp 文件进行编译,同样包含头文件 #include"类名. h",.
五. 构造函数:1. 构造函数的规则及特点:
a. 构造函数在对象实例化时被自动调用且仅调用一次;
b. 构造函数与类同名;
c. 构造函数没有返回值,不写数据类型;
d. 构造函数可以有多个重载形式;
e. 实例化对象时仅用到一个构造函数;
f. 当用户没有定义构造函数时,编译器自动生成一个构造函数,该函数没有做任何事;
2. 构造函数写法:无参构造函数:类名(){......}
有参构造函数:类名(形参){......}
3. 拷贝构造函数:写法:类名(const 类名 & 变量名),当通过同类型的对象实例化另外的对象时,自动调用拷贝构造函数.
4. 初始化列表:初始化列表可同时初始化多个数据成员,且只能用于构造函数,用法为 类名():数据成员(值),数据成员(值){},其特殊作用在于 private 中的 const 类型成员只能通过该方式进行初始化.
六. 析构函数:使用方法:~ 类名(){......}
用处:函数执行完后自动释放资源
特点:1. 如果没有自定义的析构函数则系统自动生成
2. 析构函数在对象销毁时自动调用
3. 析构函数没有返回值,没有参数也不能重载
七. 对象的生命历程:申请内存 -> 初始化列表 -> 构造函数 -> 参与运算 -> 析构函数 -> 释放内存
来源: http://blog.csdn.net/acdalao/article/details/79213822