我是学生。今天我接受采访,并告诉我一些有关继承的新知识
我说派生类无法访问基类的属性或字段,因为下面的程序证明了 这就是为什么我告诉派生类无法访问基类的属性或字段的原因:
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告诉我访问基类属性和方法的方式?