社区
C++ 语言
帖子详情
一个类的私有成员,怎样才能在这个类的派生类里被派生类的成员访问??
liun02
2003-11-19 10:40:48
一个类的私有成员,怎样才能在这个类的派生类里被派生类的成员访问??
...全文
60
10
打赏
收藏
一个类的私有成员,怎样才能在这个类的派生类里被派生类的成员访问??
一个类的私有成员,怎样才能在这个类的派生类里被派生类的成员访问??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hpho
2003-11-20
打赏
举报
回复
还有一种方法是friend child class.
class D;
class B{
int i;
friend class D;
};
class D: public B{
/* ... */
};
liun02
2003-11-20
打赏
举报
回复
十分的谢谢大家。
现在我明白了。
谢谢!
xiaoyunet
2003-11-20
打赏
举报
回复
补充一点,报漏私有的成员就意味着开放了读写权限并且没有任何检查,报漏方法则可以提供权限控制并且可以做检查。因为子类的实现者可能不是基类的实现者。
xiaoyunet
2003-11-20
打赏
举报
回复
设成私有是为了隐藏实现啊,这个时很正常的,为自己提供保护的成员函数来进行访问就可以了,就像完美废人说得那样。
adams_here
2003-11-20
打赏
举报
回复
严重同意楼上。
北极猩猩
2003-11-20
打赏
举报
回复
既然是私有为什么要访问呢,既然要访问为什么射成私有的呢?
wwl_f117
2003-11-20
打赏
举报
回复
对,只能通过基类的接口来访问。
fierygnu
2003-11-20
打赏
举报
回复
如果基类不提供接口,是访问不了的。
Wolf0403
2003-11-19
打赏
举报
回复
如果需要控制读写权限就需要私有成员,然后用保护接口访问了。
class A
{
protected:
int GetData(void){return m_data;} // read-only property for derived class
private:
int m_data;
};
tuxw
2003-11-19
打赏
举报
回复
为什么一定要用私有而不用保护呢
Flutter
私有
仓库创建、组建
私有
化发布
1、Flutter如何做组件化? 2、修改Flutter发布文件,绕过登陆google账号问题 3、
私有
化部署针对Flutter组件化的容器 4、发布和使用Flutter组件
C++类的公有/
私有
继承,基类的
私有
成员
在
派生
类中
访问
情况
首先,基类的
私有
成员
是会被
派生
类继承的,但是不能被
派生
类
访问
;从物理上讲是复制过来了,在内存中确实有复制。但是从程序上看是被屏蔽了,不能直接调用。 其次,对于基类public类型的
成员
变量,无论是公有继承还是
私有
继承,都可以直接在
派生
类中定义的
成员
函数直接
访问
。 对于基类private类型的
成员
变量,无论是公有继承还是
私有
继承,在
派生
类中定义的
成员
函数都不能直接
访问
基类的
私有
成员
,只能通过基类的...
C++中的
派生
类对基类
成员
的
访问
问题
C++中
派生
类对基类
成员
的
访问
形式主要有以下两种: 1、内部
访问
:由
派生
类中新增
成员
对基类继承来的
成员
的
访问
。 2、对象
访问
:在
派生
类外部,通过
派生
类的对象对从基类继承来的
成员
的
访问
。今天给大家介绍在3中继承方式下,
派生
类对基类
成员
的
访问
规则。 1、
私有
继承的
访问
规则 当类的继承方式为
私有
继承时,基类的public
成员
和protected
成员
被继承后成为
派生
类的private
成员
,
派生
类的其它
成员
可以直接
访问
它们,但是在类的外部通过
派生
类的对象无法
访问
。基类的private
成员
在
私有
派生
类中是不可直接
访问
的
派生
类
成员
的
访问
类的保护
成员
对
派生
类来说,
成员
分为两大类: (1)一类是从基类继承过来的
成员
(2)一类是自己新生成的
成员
如果没有继承,一个类只有两种类型的
访问
者:类
成员
和类用户 将类划分为private和public
访问
级别反映对
访问
者的
访问
权限:类
成员
只能
访问
公有
成员
,类
成员
和友元既可以
访问
公有
成员
也可以
访问
私有
成员
有了继承,就有了类的第三种
访问
者:
派生
类
成员
派生
类通常需要
访问
(一般为
私有
的)基类
成员
,为了允许这种
访问
而仍然禁止外部对基类的一般
访问
,可以使用protected
访问
标号。类的protected部分
C++
派生
类
成员
访问
属性
在建立
派生
类的时候,并不是简单地把基类的
私有
成员
直接作为
派生
类的
私有
成员
,把基类的公有
成员
直接作为
派生
类的公有
成员
。(1) 基类中的
成员
函数是可以
访问
基类中的任一
成员
的,那么,
派生
类中新增加的
成员
,例如,上面定义的student_new类新增加的print_new();这些牵涉到如何确定基类的
成员
在
派生
类中的
访问
属性的问题,不仅要考虑对基类
成员
所声明的
访问
属性,还要考虑
派生
类所声明的对基类的继承方式,根据这两个因素共同决定基类
成员
在
派生
类中的
访问
属性。(3) 基类的
成员
函数
访问
派生
类的
成员
。
C++ 语言
64,683
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章