| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1018 人关注过本帖
标题:关于派生中的访问声明
取消只看楼主 加入收藏
Susurrant
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:22
专家分:52
注 册:2013-1-7
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:2 
关于派生中的访问声明
假设为私有继承
我在很多地方都看到“访问声明不能改变类成员原来在基类中的成员性质,只能把原基类的保护成员调整为派生类的保护成员,原基类的公有成员调整为派生类的公有成员。”
但是明明在子类的public里可以对父类的protected成员使用访问声明啊?
也就是把父类的protected成员通过访问声明在子类中变为public
程序代码:
#include<iostream>
using namespace std;

class A
{
protected:
    int a;
public:
    A(int p):a(p){}
};

class B : private A
{
public:
    using A::a;   //访问声明,a在父类中为protected,私有继承
public:
    B(int p):A(p){}
};

int main()
{
    B C(1);
    cout << C.a << endl;
    return 0;
}


以上代码正常运行!!!
怎么回事??
搜索更多相关主题的帖子: public 声明 
2013-05-24 17:10
Susurrant
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:22
专家分:52
注 册:2013-1-7
收藏
得分:0 
回复 3楼 rjsp
在网上搜索这一句话时有不少资料(ppt,笔记等)里有这句话,老师的教材里也是。
图片附件: 游客没有浏览图片的权限,请 登录注册

@rjsp

effort ? succeed : retry ;
2013-05-26 12:29
Susurrant
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:22
专家分:52
注 册:2013-1-7
收藏
得分:0 
回复 5楼 ch137954447
不是不理解三个作用域,而是那句话和我实际编的函数有出入

effort ? succeed : retry ;
2013-05-27 15:42
快速回复:关于派生中的访问声明
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031452 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved