C++ 继承 - 在派生类中对基类初始化
程序员文章站
2022-03-03 12:18:06
构造函数与基类的其他成员不同,不能被派生类继承,因此为了初始化基类中的成员变量,需要在派生类中调用基类的构造函数(即显式调用),如果派送类没有调用则默认调用基类的无参构造函数(即隐式调用). 显式调用的方式参考以下代码: 如果基类以public 公有方式被继承,则基类的所有公有成员都会成为派生类的公 ......
构造函数与基类的其他成员不同,不能被派生类继承,因此为了初始化基类中的成员变量,需要在派生类中调用基类的构造函数(即显式调用),如果派送类没有调用则默认调用基类的无参构造函数(即隐式调用).
显式调用的方式参考以下代码:
//基类 class animal{ protected: int height; public: animal(){ height=0; } animal(int height){ this->height=height; } }; //派生类 class fish:public animal{ public: fish(){ // } fish(int height):animal(height){ // } }; //fish m_fish(3); then animal->height = 3;
- 如果基类以public 公有方式被继承,则基类的所有公有成员都会成为派生类的公有成员.受保护的基类成员成为派生类的受保护成员
- 如果基类以private 私有被继承,则基类的所有公有成员都会成为派生类的私有成员.基类的受保护成员成为派生类的私有成员.
- 如果基类以protected 受保护方式被继承,那么基类的所有公有和受保护成员都会变成派生类的受保护成员.
推荐阅读
-
c++基础-继承与派生,定义基类person和公有派生类student
-
公有继承中派生类Student对基类Person成员的访问
-
C++多继承中重写不同基类中相同原型的虚函数
-
C++中类成员变量在初始化列表中的初始化顺序
-
公有继承中派生类Student对基类Person成员的访问 代码参考
-
C++ 继承 - 在派生类中对基类初始化
-
C++继承4 Is a 基类的指针指向派生类的对象
-
公有继承中派生类Student对基类Person成员的访问 代码参考
-
C++如何正确地在类中初始化vector成员变量
-
程序员应了解的那些事(6)C++类中的数据成员能否在定义类的时候就初始化?/类的数组不能使用成员初始化表进行初始化等