【C++】请问,继承中子类的访问权
您好,下面是学校试题中一段代码:
class A
{
private:
int n;
public:
A(){n=0;}
A(int x){n=x;}
~A(){}
int get_n(){return n;}
void set_n(int x){n=x;}
};
class B:public A
{
private:
int m;
public:
B(){m=0;}
B(int x):A(x){m=x;}
~B(){}
};
int main()
{
B objB;
objB.set_n(3);
}
我不明白的是,按照书上所说,派生类是不能访问基类的private段的。但是main()函数里的objB调用基类public段的set_n()函数,却改变了基类在private段定义的n,这是为什么呢?
麻烦明白的前辈指点一下,谢谢!
[解决办法]
没人回答是因为太简单了。。我做做好人吧。
set_n是A的函数,当然可以访问A的私有变量了。
再详细没法解释了。
[解决办法]
楼主有所不知:不能直接访问,可不是不能继承啊。