如果一个类二使用类一中的内容进行初始化,那么使用初始化列表的方式会更快。如果只是普通的数据类型没有区别,但是如果是自己定义的数据类型就会更快,因为初始化列表的方式会减少一次默认构造函数的调用。
在进入构造函数体之前,使用初始化列表,不用调用默认构造函数,进入函数体后,在进行赋值初始化,需要调用默认构造函数,再进行一次赋值。

阅读全文 »

空类在声明时不会生成任何成员函数,只会生成1个字节的占位符。
当定义了空类的对象时,编译器会生成6个成员函数:缺省的构造函数、拷贝构造函数、赋值运算符、析构函数、两个取地址运算符。

阅读全文 »

多态性是面向对象三大特性之一。封装、继承和多态——三大特性。

多态性分为编译时的多态性和运行时候的多态性。

多态性指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。

编译时: 重载函数、运算符重载

运行时:虚函数和继承实现

阅读全文 »