C++ 继承 - 在派生类中对基类初始化

2019-08-16 07:51:58来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

C++ 继承 - 在派生类中对基类初始化

构造函数与基类的其他成员不同,不能被派生类继承,因此为了初始化基类中的成员变量,需要在派生类中调用基类的构造函数(即显式调用),如果派送类没有调用则默认调用基类的无参构造函数(即隐式调用).
显式调用的方式参考以下代码:

//基类
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 受保护方式被继承,那么基类的所有公有和受保护成员都会变成派生类的受保护成员.

原文链接:https://www.cnblogs.com/bitor/p/11231942.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Median of Two Sorted Arrays

下一篇:【并查集】模板 + 【HDU 1213、HDU 1232、POJ 2236、POJ 1703】