类的继承和派生(自我总结)
在派生类中: 无论是哪种继承都 不可以直接访问 上一级类继承下来私有成员 不可以直接访问 public protected 对于protect和public则根据继承方式的不同而不同, 继承方式的不同限制的是派生类对象对基类的访问 。 在派生类内部中: 无同名函数 可以访问除开基类私有成员的任何成员 有同名函数(同名就行) 派生类中的同名函数隐藏基类中的同名函数 可以通过类名::函数进行区分 可能会引发二异性(继承来的函数同名[同一等级]) protected继承与private继承的差别: protected不会继承到没有 —— private会继承到不能访问 只继承一次是看不出来差距的 类型转换 公有派生类对象(public方式) 可以被当作基类的对象使用,反之则不可以. 公有派生使得基类的对外访问接口是不变的 派生类的对象可以隐含转换为基类对象; 派生类对象可以初始化基类的引用 派生类的指针可以隐含转换为基类的指针 通过基类对象名、指针只能使用从基类继承的成员 不要重新定义继承而来的非虚函数 ,使得同名函数被覆盖掉,使用虚函数更加满足多态需求 派生类不能继承的基类成员 缺省构造函数,拷贝构造函数,拷贝赋值函数,以及析构函数这四种成员函数被称作特殊的成员函数 构造函数 未继承基类构造函数,那么使用派生类构造函数进行统一初始化 C++11规定: 可用using