1.构造函数和析构函数没有返回类型和返回值,一般都是public类型。只有在单例模式(explicit)下才可以是pravite型,并且需要为构造函数与一个静态函数绑定,使得该对象在整个程序运行的过程中只会执行一次。同时,构造函数与析构函数还是互补的关系,前者是初始化数据成员,后者的作用是在删除对象是隐式的调用在系统回收对象内存前执行清理工作。
2.内敛函数能够减小函数调用的开销,即编译器可将代码复制到程序中,这样可以使程序效率提高但是规模变大。
3.友元函数不是成员函数,且友元的声明在类中。变量类型后面跟变量名。类名后面跟对象名。
4.This指针是常指针,return *this是返回对象的作用。其中:友元函数与static无this指针。
5.static数据成员和static数据成员函数独立于类的任何对象而存在(从用法中考虑)。
6.运算符的重载不能改变其结合律,操作个数,优先级还有语法结构,重载函数就是名字相同,返回值或参数列表不同。
7.派生类的成员后汉书不能直接访问基类的pravite成员,派生类是鸡肋的具体化,而积累是派生类的抽象,并且派生类可以通过同名覆盖的方式对基类成员进行修改。
8.在类中,函数名不能跟变量名重名,对象不可以直接调用保护权限的变量,只能访问类的公有成员。
9.protected对于类的对象来说,权限与pravite相同,而对于派生类来说与public的权限相同。
10.基类中的构造函数不被继承,派生类需要声明自己的构造函数,派生类中的构造函数依附于基类中的构造函数。
11.在继承类中,构造函数的执行顺序:基类->子对象->派生类。
12.虚基类是为了解决二义性问题,Virtual支队紧随其后的名字起作用,通过指针引起的普通成员函数的调用,仅仅与指针的类型有关而与指针正指向什么对象无关。
13.虚函数的调用方式是根据指针指向的对象类决定(因此说解决了二义性)。
14.只有成员函数才能声明为虚函数,虚函数是针对对象的。
15.构造函数在对象生成之前运行,如果一个基类包含一个或一个以上的纯虚函数,就是抽象基类。且不能定义对象。