C++的类继承方式

先说结论:

  • class默认的是private,struct默认的是public
  • public继承:子类可以访问父类除私有成员以外的所有成员
  • private继承:子类不能访问父类的任何成员

如果是动态创建对象,必须用public继承,否则创建的时候就会失败。

#include<iostream>

class Base{
public:
    virtual void f()
    {
        std::cout << "base" << std::endl;
    }
};

class Test : public Base{ //必须用public
public:
    void f()
    {
        std::cout << "test" << std::endl;
    }
};

int main()
{
    Base* b = new Test(); // 
    b->f(); 
}

 

参考链接:https://zhidao.baidu.com/question/157304335.html

posted @ 2020-04-17 09:54  Rogn  阅读(651)  评论(0编辑  收藏  举报