2010-05-12 103 views
9

我没有我的Effective C++,这让我感到非常烦恼,我不得不要求自己的理智。鉴于参考文献和对象切片

class Foo : public Bar{} 

void MyFunc(Bar &_input); 

如果我通过在Foo,我在与slicing问题纠缠或有我避免呢?

回答

11

不是问题,因为您传递的是参考。你不是创建一个新对象,而是让MyFunc访问原始对象。

+0

谢谢。这让我疯狂。 – wheaties 2010-05-12 19:38:46

2

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

5

由于您通过参考 - ,除非您稍后分配给Bar的实例。