构造函数的继承

首先我们有一个父类

class Father
{
public:
    Father(int tall);
    int tall;    
    void fuc();
};

Father::Father(int tall)
{
    this->tall = tall;
}

void Father::fuc()
{
    cout<<"height is "<<tall<<endl;
}

父类里面有显式的构造函数 和 一个成员函数 fuc

 

然后再来看子类

class Child:public Father
{
public:
    Child(int tall);

};

Child::Child(int tall):Father(tall)
{

}

 

在主函数中调用一下

    Child tom(200);
    tom.fuc();

运行结果

height is 200

表明子类已经成功继承了父类的构造函数 同时还调用了继承过来的变量 tall 以及成员函数 fuc

 


 

 

还有另外一种写子类的方法

class Child:public Father
{
    using Father::Father;
public:
    
};

using 父类::父类

当构造函数重载比较多时,这样方便很多

 

 

全部代码如下

class Father
{
public:
    Father(int tall);
    int tall;    
    void fuc();
};

Father::Father(int tall)
{
    this->tall = tall;
}

void Father::fuc()
{
    cout<<"height is "<<tall<<endl;
}


class Child:public Father
{
    using Father::Father;
public:
    
};



int main(int argc,char *argv[])
{
    Child tom(200);
    tom.fuc();

    return 0;
}

 

posted @ 2020-03-31 09:18  祁峰_1024  阅读(245)  评论(0编辑  收藏  举报