1

第 1 行和第 2 行都将进行对象切片还是单独进行第 1 行?谢谢你的时间 !

class Base{
};

class Derived : public Base{
};

main()
{       
   Derived d1;
   Base b1 = d1;  //line 1
   Base &b2 = d1; // line 2
}
4

1 回答 1

3

只有第一个分配可以导致切片,因为该分配涉及副本。第二个赋值仅引用对象。没有副本,就没有切片。

于 2012-12-23T19:15:42.710 回答