有关继承的两个问题

shmilyxbq 2008-10-16 11:45:58
派生类能直接操作基类里的公有的和保护的数据成员吧?就像在自己的类中声明的一样。那派生类能不能在构造函数里直接初始化基类的公有的和保护的数据成员呢?

派生类的对象能对基类的成员函数(公开,保护)直接引用吗?
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nosky100 2008-10-16
  • 打赏
  • 举报
回复
都可以。。

派生类是基类的一种。

所有派生类具有基类的一切特征。
xkyx_cn 2008-10-16
  • 打赏
  • 举报
回复
1.可以
2.可以在构造函数里进行赋值,但不能放在初始化列表里,如果在初始化列表里进行初始化,则必须通过基类的构造函数
3.public继承的话,在类外可以引用public成员,protected的则不能访问

xhs_lh04 2008-10-16
  • 打赏
  • 举报
回复
嗯是的派生类可以访问基类的公有保护成员,问题2也可以,不过一般时调用基类的构造函数初始化基类的成员,问题3也是可以的
xxgamexx 2008-10-16
  • 打赏
  • 举报
回复
JAVA 可以用 super() 显调用基类的构造函数


C++在初始化的时候就调用默认的构造函数了

但如果需要显示调用则用

parent::parent(para *...);
loner0225 2008-10-16
  • 打赏
  • 举报
回复
2楼说的是正确的
帅得不敢出门 2008-10-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xkyx_cn 的回复:]
1.可以
2.可以在构造函数里进行赋值,但不能放在初始化列表里,如果在初始化列表里进行初始化,则必须通过基类的构造函数
3.public继承的话,在类外可以引用public成员,protected的则不能访问
[/Quote]
up
dfkjsdhfks 2008-10-16
  • 打赏
  • 举报
回复
对象是不能访问保护成员的,公有成员可以访问,派生类当然也可以初始化公有和保护的数据成员,(以上只针对public继承的情况,在其它情况下有所改变,特别是在private继承的情况下)你还是去找下派生与继承的书看一下,你将了解得全面具体一点.
lbzhao_28 2008-10-16
  • 打赏
  • 举报
回复
都可以.

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧