首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【C++】请教,继承中子类的访问权

2012-12-31 
【C++】请问,继承中子类的访问权您好,下面是学校试题中一段代码:class A{private:int npublic:A(){n0}A(i

【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的私有变量了。
再详细没法解释了。
[解决办法]
楼主有所不知:不能直接访问,可不是不能继承啊。

热点排行