| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 623 人关注过本帖
标题:[求助]对象切片问题
只看楼主 加入收藏
sbivfh
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-2
收藏
 问题点数:0 回复次数:3 
[求助]对象切片问题
#include<iostream>
class A
{
public:
/*virtual*/ void print();

};
class B:public A
{
public:
void print();
};
void A::print()
{
std::cout<<"Test the slice_up question!---A"<<std::endl;
}
void B::print()
{
std::cout<<"Test the slice_up question!---B"<<std::endl;
}
int main()
{ A aa;
B bb;
A *pbb;
pbb=&bb;

A *paa;
paa=&aa;
paa->print();
pbb->print();
//////////////////////////////////////////////////会发生切片现象
B b;
A a=b;
a.print();
b.print();
/////////////////////////////////////////////////不会发生切片现象

B *pb=new B;
A* pa=pb;
a.print();
b.print();
system("pause");
return 0;
}

请问:对象切片现象有什么后果?也就是切片现象主要表现在哪个方面?上面是自己随便写的,没测试出来,可能是没写出来吧。应该如何测试啊,谢谢!
搜索更多相关主题的帖子: 切片 对象 
2007-07-04 13:07
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
Object slicing happens when you upcast an object to its base class. The effect will be that you lose the specific "derived parts" of the obj.

I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-07-04 13:26
sbivfh
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-2
收藏
得分:0 

Thank you!

2007-07-04 13:34
sbivfh
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-2
收藏
得分:0 
HJin:
Could you give me an example.
2007-07-04 13:44
快速回复:[求助]对象切片问题
数据加载中...
 
   



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

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