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

继承中使用using解决方案

2012-02-07 
继承中使用using“派生类可以恢复继承成员的访问级别,但不能使访问级别比基类中原来指定的更严格或更宽松。”

继承中使用using
“派生类可以恢复继承成员的访问级别,但不能使访问级别比基类中原来指定的更严格或更宽松。”
这句话说的管用吗?

#include <iostream>
using   namespace   std;

class   B
{
protected:
        int   i;
};

class   D:   private   B
{
public:
        using   B::i;//这里不出错
};

int   main()
{
        D   d;
        d.i;
        return   0;
}


[解决办法]
这句话从哪看来的?

应该是没有理由的。
试想一下:B中把i设置成protected:说明允许派生类去任意使用i
如果派生类不被允许把i重新设置成public的话,那么派生类可以通过一对get/set公共函数一样来达到这个目的,那么这种限制就是毫无意义的。
[解决办法]
学习。。。
[解决办法]
那有没有原文及其上下文和作者的例子

如果是翻译的,有没有英文原文呢?
[解决办法]
有很多翻译不太准确的
[解决办法]
那句话说得有道理, 派生类可以恢复继承成员的访问级别,但不能使访问级别比基类中原来指定的更宽松,估计是这样的 。
顶!!!
[解决办法]
派生类经过全局作用可以改变存取权限
[解决办法]
说实话,不要使用这个功能。
尤其是using+虚函数时,各编译器就晕了。

热点排行