Toriyung

导航

C++:类的继承

基类的构造函数和析构函数不会被继承,但是当子类对象初始化时则会自动调用基类的构造函数和析构函数(默认)

如果想要调用基类的重载构造函数,需要在构造函数后加上“ :<重载的构造函数>{}; ”,如下

class FATHER
{
public:
    FATHER();
    ~FATHER();
    FATHER(int a)  //重载构造函数
    {
        std::cout<< "here!" <<std::endl;
    }
};


class SON: public FATHER
{
public:
    SON(int a) :FATHER(a) {};  //子类构造函数调用基类的重载构造函数
    ~SON();
private:
};

int main()
{
    SON s(1);
    return 1;
}

当然,也可以先声明后实现

class SON: public FATHER
{
public:
    SON(int a);
    ~SON();


private:

};

SON::SON(int a) :FATHER(a)
{
}

 

posted on 2024-04-07 20:42  Toriyung  阅读(2)  评论(0编辑  收藏  举报