哪种方法可以访问派生类中的基类属性或字段?

时间:2020-04-19 06:25:19

标签: c++ pointers inheritance

我是学生。今天我接受采访,并告诉我一些有关继承的新知识

我说派生类无法访问基类的属性或字段,因为下面的程序证明了 这就是为什么我告诉派生类无法访问基类的属性或字段的原因:

using namespace std;
#include<iostream>

class baseclass
{
  public:
    int a;
    baseclass()
    {
        std::cout << "baseclass\n";
    }
};

class deriveclass: public baseclass
{
 public:
    deriveclass()
    {
        std::cout << "derived class\n";
    }
};


int main()
{
    baseclass * a=new baseclass();  //ok
    deriveclass * b=new deriveclass();  //ok 

    baseclass * aa=new deriveclass(); //ok        
    deriveclass * bb=new baseclass(); //not ok

    return 0;
}

链接:https://onlinegdb.com/SyfhRDF_U

错误:

main.cpp:在“ int main()”函数中: main.cpp:30:36:错误:从“基类*”到“派生类*”的无效转换[-fpermissive] 派生类* bb = new baseclass(); //不好

然后 Interviewer告诉我访问基类属性和方法的方式

0 个答案:

没有答案