| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:[求助]关于继承的问题
只看楼主 加入收藏
flu601047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-12-29
收藏
 问题点数:0 回复次数:10 
[求助]关于继承的问题
派生类以公有形式继承基类时,是不是除了基类的构造函数和析构函数外的所有成员的继承过来?也就是说基类的private成员也继承到派生类中,只不过是派生类不能访问而已,还是不会继承基类的private成员?
搜索更多相关主题的帖子: 继承 
2006-07-16 00:27
huanguyu
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-4-26
收藏
得分:0 
会继承的   继承过来作为私有成员

看越多书就发现自己越无知 于是就越想知道更多
2006-07-16 01:06
stylev
Rank: 1
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2006-5-30
收藏
得分:0 
只不过是派生类不能访问而已,

E-mail/MSN: stylev@
2006-07-16 02:12
flu601047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-12-29
收藏
得分:0 

如果
1。派生类以protected形式继承基类,基类的private,protected,public
成员会以什么方式被继承到基类?
2。派生类以private形式继承基类,基类的private,protected,public
成员会以什么方式被继承到基类?
谢谢

2006-07-16 13:03
ysol
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-6-11
收藏
得分:0 
概念性的问题最好从书上去找答案!!!
2006-07-16 15:11
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用huanguyu在2006-7-16 1:06:48的发言:
会继承的 继承过来作为私有成员

错了.............


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-16 17:53
ld20349
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-7-11
收藏
得分:0 
1楼的回答是错的,派生类无论以哪种方式继承基类,基类的私有成员在派生类里都是不可见的,也就是派生类自己定义的成员函数不能调用它们.



  1。派生类以protected形式继承基类,基类的private,protected,public
成员会以什么方式被继承到派生类?
   private:隔离,不可访问
   protected:protected
public:protected
2。派生类以private形式继承基类,基类的private,protected,public
成员会以什么方式被继承到基类?
private:隔离,不可访问
   protected:private
public:private
2006-07-16 21:27
flu601047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-12-29
收藏
得分:0 

上楼说的访问权是对的,但是
以下是引用huanguyu在2006-7-16 1:06:48的发言:
会继承的 继承过来作为私有成员
这就不肯定拉,但是一定会继承到派生类是对的,继承过来做为私有成员就不知道拉,以下是我的试验程序.结果是"16",请高手指教...........


#include <iostream.h>
class A
{
private:
int a;    
int b;
public:
int c;
protected:
int d;
A(){}
};
class B : public A
{
public:
B(){}
};
void main()
{
B b;
cout<<sizeof(b)<<endl;
}

2006-07-16 23:13
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用ld20349在2006-7-16 21:27:30的发言:
1楼的回答是错的,派生类无论以哪种方式继承基类,基类的私有成员在派生类里都是不可见的,也就是派生类自己定义的成员函数不能调用它们.good



  1。派生类以protected形式继承基类,基类的private,protected,public
成员会以什么方式被继承到派生类?
   private:隔离,不可访问
   protected:protected
public:protected
2。派生类以private形式继承基类,基类的private,protected,public
成员会以什么方式被继承到基类?
private:隔离,不可访问
   protected:private
public:private//说的对

私有继承,能继承,但你不能访问,也不是private,因为要是private,你的函数是不是可以调用它呢
可是你的函数根本就访问不了基类的private,所以钱的书错了,private继承错了,继承下来根本没有任何方式访问
而他说继承后还是private。。。。。。。。。。。。

楼上的也好理解,尽管不能访问,但还是有它空间4*int


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-17 10:10
云中雾
Rank: 1
等 级:新手上路
威 望:1
帖 子:168
专家分:3
注 册:2005-12-30
收藏
得分:0 
private也上可以继承的,但是在派生类中是不可见的,在派生类中的成员函数也不能访问它,必须由基类的的成员函数来访问它,可以通过派生类的成员函数调用基类的成员函数来访问的。。。。。

白色的忧郁让我白色的思念从洁白到苍白,从苍白到空白,比空白更空白,变成深白的坦白!
2006-07-18 15:30
快速回复:[求助]关于继承的问题
数据加载中...
 
   



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

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