1 继承
公有继承、保护继承、私有继承
2 函数
-构造函数
-析构函数
-赋值运算符
-友元函数
不可以继承
3 构造函数
由于派生类不能直接访问基类的私有成员,必须通过基类方法进行访问。
也就是说,派生类的构造函数不能直接初始化基类的私有成员,必须通过基类的构造函数去初始化。
创建派生类对象时,先调用基类的构造函数,再调用派生类的构造函数。
析构函数的调用恰好相反,先派生类,再基类。
4 成员初始化列表
派生类构造函数通过初始化列表机制将值传递给基类的构造函数。
如果在成员初始化列表中没有提供基类的构造函数,那么将使用默认的基类构造函数。
成员初始化列表只能用于构造函数。
5 友元函数
非类的成员函数也能够访问类的成员变量(包括私有变量)。
关键字friend
函数声明放在类声明中
类外定义(不加friend关键字,不用类名限定符,因为友元函数不是类的成员函数)