手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2019-07-25] 来源:Linux社区  作者:bitor [字体: ]

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

显式调用的方式参考以下代码:


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

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-07/159572.htm

linux
相关资讯       C++ 继承 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款