基类不可访问有几种可能?

来源:百度知道 编辑:UC知道 时间:2024/06/19 11:00:29
如题

三种吧。

一种是:
class test //构造函数定义为私有的类
{
private:
test();
};

第二种是:
class test2 //构造函数定义为保护的类(派生类中可以访问)
{
protected:
test2();
};

第三种是:
class test3//纯虚函数,抽象基类
{
public:
virtual void look()=0;
};

应该就是这三个了。。

class A
{
public:
...
};

class B:A
{
public:
...
};

int main()
{
A *a = new B();
......
delete a;
return 0;
}
这种情况也不能访问,即 A是B不可访问的基类。
解决办法是B继承时要使用public关键字,
class B:public A
{
public:
...
};