参考和对象切片

时间:2010-05-12 19:34:20

标签: c++ object-slicing

我没有和我一起使用有效的C ++,这让我非常烦恼,所以我必须要求自己的理智。给定

class Foo : public Bar{}

void MyFunc(Bar &_input);

如果我传入Foo,我是否与slicing问题纠缠在一起还是我避免了这个问题?

3 个答案:

答案 0 :(得分:13)

没问题,因为你传入了一个引用。你不是在创建一个新对象,只是让MyFunc访问原始对象。

答案 1 :(得分:6)

由于您传递了参考号 - ,除非您稍后分配给Bar的实例。

答案 2 :(得分:2)

将对象强制转换为父类时,切片只是一个问题。在转换指针或引用时没有切片。