我对继承的一些概念有疑问,我在陈述我所知道的,如果我错了,请纠正我。
基类的私有成员由派生类继承,但派生类不能以任何方式访问它们。
基类的受保护成员由派生类继承,但派生类不能直接访问它,而是借助它的一些成员函数。
现在在以下代码中:
class A
{
protected:
A(const A&){}
A operator=(const A &){}
int t;
public:
A(int r) {t=r;}
A(){t=0;}
};
class B : public A
{
A a;
public:
void make(void)
{
//A b(a); //LINE 1 -------COPY CONSTRUCTOR BEING CALLED ---protected member of base class
cout<<t; //LINE 2 -------protected member of base class
}
};
int main()
{
B b;
b.make();
return 0;
}
为什么 LINE 1 出现错误?
为什么我们不能为 A 的对象调用复制构造函数?
很多很多提前谢谢