BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


奥运快报: 
奥运热点:
 

[C++] 私有继承,好奇ing
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
  本主题由 cugb_cat 于 2008-7-9 10:14 关闭 
UnixStudier (彩雲追月)
光明使者



UID:523921
注册:2007-1-29
最后登录: 2008-09-06
帖子:862
精华:0

可用积分:1102 (家境小康)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2008-7-7 20:58 
今天去面试,有一道题目是考私有继承、公有继承的。我一直以为什么公有、私有继承是垃圾特性,本来就不改,全用公有就是了,这次翻船了。刚才又找了一些资料看看私有继承是怎么回事,写个试验性的程序。原来是这样:
class Base{
public:   
    int a;                              
};   

class SubObj:private Base{
public:
    SubTestObj(){
        cout<<"SubTestObj init"<<endl;   
        
    }               
    void func1(){  
        cout<<a<<endl; //这里可以访问a
        cout<<"SubTestObj::func1"<<endl;   
    }               
};


但是在下面的函数里无法访问Base的a:

void test(){
  SubObj sub;

//  std::cout<<sub.a<<std::endl;  //错误,不可以访问a
}


有的资料也说私有继承不要使用,好像是Lipman说的。既然这种特性不让人们使用你他妈还做这种特性做什么?!有意义吗?
我再一次发现:c++确实是一帮傻逼脑残的人琢磨出来的,真奇怪还一帮傻逼脑残使用c++写程序!

[ 本帖最后由 UnixStudier 于 2008-7-7 21:10 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[2]

__________________________________

我有一生的耐心来等待你
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
UnixStudier (彩雲追月)
光明使者



UID:523921
注册:2007-1-29
最后登录: 2008-09-06
帖子:862
精华:0

可用积分:1102 (家境小康)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


2楼 发表于 2008-7-7 21:00 
类似的白痴特性还有好多,那天惹恼了,接着骂.



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我有一生的耐心来等待你
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
blizzard213   美女
风云使者
伦理协会顾问调研员



UID:690769
注册:2008-4-12
最后登录: 2008-09-07
帖子:542
精华:0

可用积分:1103 (家境小康)
信誉积分:10
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2008-7-7 21:01 


QUOTE:
原帖由 UnixStudier 于 2008-7-7 20:58 发表
今天去面试,有一道题目是考私有继承、公有继承的。我一直以为什么公有、私有继承是垃圾特性,本来就不改,全用公有就是了,这次翻船了。刚才又找了一些资料看看私有继承是怎么回事,写个试验性的程序。原来是这 ...

你的代码也写得很飘逸:
class Base{
public:   
    int a;                              
};   

class SubObj:private TestObj{
public:
    SubTestObj(){
        cout<<"SubTestObj1 init"<<endl;   
        
    }               
    void func1(){  
        cout<<a<<endl; //这里可以访问a
        cout<<"SubTestObj1::func1"<<endl;   
    }               
};

================
我看了半天没看出 SubObj 和Base 有啥关系



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

hello, world!
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
buxoman   帅哥 (布克斯曼)
精灵




UID:137099
注册:2004-2-29
最后登录: 2008-08-29
帖子:158
精华:0

可用积分:838 (稍有积蓄)
信誉积分:110
专家积分:0 (本版:0)
空间积分:826
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2008-7-7 21:06 
这就叫“神龙见首不见尾”啊!



您对本贴的看法:鲜花[0] 臭蛋[0]
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
UnixStudier (彩雲追月)
光明使者



UID:523921
注册:2007-1-29
最后登录: 2008-09-06
帖子:862
精华:0

可用积分:1102 (家境小康)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2008-7-7 21:11 
抱歉,抄到这里的时候改写了一部分,以致出现了不一致。
在我的dev-c++上做试验的时候基类的名字是TestObj



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我有一生的耐心来等待你
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
blizzard213   美女
风云使者
伦理协会顾问调研员



UID:690769
注册:2008-4-12
最后登录: 2008-09-07
帖子:542
精华:0

可用积分:1103 (家境小康)
信誉积分:10
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2008-7-7 21:18 


QUOTE:
原帖由 UnixStudier 于 2008-7-7 21:11 发表
抱歉,抄到这里的时候改写了一部分,以致出现了不一致。
在我的dev-c++上做试验的时候基类的名字是TestObj

虽然lz骂得比较激烈 但我也不得不承认 我从来没想过要用私有继承



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

hello, world!
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
UnixStudier (彩雲追月)
光明使者



UID:523921
注册:2007-1-29
最后登录: 2008-09-06
帖子:862
精华:0

可用积分:1102 (家境小康)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2008-7-7 21:20 
其实类似的特性很多很多,c++设计得实在太糟糕了。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我有一生的耐心来等待你
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
prolj (非常女生)
法王
专业水帖


CU奥运火炬传递手2008
UID:293231
注册:2005-7-19
最后登录: 2008-09-06
帖子:12510
精华:3

可用积分:10272 (大富大贵)
信誉积分:560
专家积分:1241 (本版:20)
空间积分:0
推广积分:0

来自:乡下
状态:...保密...

[个人空间] [短信] [博客]


8楼 发表于 2008-7-7 21:23 
lz偏激了吧。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

别没事瞎搞意识强奸,大家都不是8岁小孩了,你又不是赵本山,想给别人洗脑啊?先回家对着镜子把自己洗成白痴去!
把自己塑造成神搞个人崇拜啊?你不就是会装13吗?对不起,俺是农民,就认实实在在看得见的,你那虚幻的太高深,俺不懂。
我是进来拜神的,顺便带点水,很多牛在天上飞,很多仙在空中飘,遮住了阳光,导致小菜无法进行光合作用,再没有水就没法活了。
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
UnixStudier (彩雲追月)
光明使者



UID:523921
注册:2007-1-29
最后登录: 2008-09-06
帖子:862
精华:0

可用积分:1102 (家境小康)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2008-7-7 21:29 
呵。我觉得现在这个时代c++的生存空间很小了
web编程都让jsp/php/c#这些占了。
系统编程其实还是c语言比较好一些,如果想要方便编程可以c加python/perl等
桌面编程还是 c#/objective-c.
服务端编程,java的市场估计也会增大,现在java的执行速度也挺快的。
c++的生存空间很小。
对批评c++的缺点我没什么兴趣。除非是把我惹毛了,不然我才懒得骂它。多琢磨怎么多赚几两银子我倒是很有兴趣。

[ 本帖最后由 UnixStudier 于 2008-7-7 21:30 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我有一生的耐心来等待你
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘
blizzard213   美女
风云使者
伦理协会顾问调研员



UID:690769
注册:2008-4-12
最后登录: 2008-09-07
帖子:542
精华:0

可用积分:1103 (家境小康)
信誉积分:10
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2008-7-7 21:32 


QUOTE:
原帖由 UnixStudier 于 2008-7-7 21:29 发表
呵。我觉得现在这个时代c++的生存空间很小了
web编程都让jsp/php/c#这些占了。
系统编程其实还是c语言比较好一些,如果想要方便编程可以c加python/perl等
桌面编程还是 c#/objective-c.
服务端编程,java的 ...

恩 只是相对小 走进一看 绝对值仍然很大
至少游戏开发还需要c++



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

hello, world!
空间积分可以换礼品了! | 有奖跟帖:服务器节能,奖50-100元图书 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.053560 second(s), 5 queries , Gzip enabled