zoukankan      html  css  js  c++  java
  • 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 受保护方式被继承,那么基类的所有公有和受保护成员都会变成派生类的受保护成员.
  • 相关阅读:
    Typecho
    iOS开发
    搭建自己的Git服务器
    Markdown
    微信使用篇
    bzoj2406 矩阵
    POI2010 Bridges
    上下界网络流总结
    TopCoder SRM 582 Div 1
    port命令记录
  • 原文地址:https://www.cnblogs.com/bitor/p/11231942.html
Copyright © 2011-2022 走看看