标题:[求助]对象切片问题
只看楼主
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-152635-1-1.html




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

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