References and Object Slicing

前端 未结 3 849
日久生厌
日久生厌 2020-12-16 16:45

I don\'t have my Effective C++ with me and this is bugging me so much that I have to ask for my own sanity. Given

class Foo : public Bar{}

void MyFunc(Bar          


        
相关标签:
3条回答
  • 2020-12-16 17:00

    Not a problem, because you're passing in a reference. You're not creating a new object, just letting MyFunc access the original object.

    0 讨论(0)
  • 2020-12-16 17:04

    Slicing is only a problem when you cast an object to its parent class. There is no slicing when you cast pointers or references.

    0 讨论(0)
  • 2020-12-16 17:12

    Since you are passing the reference - no, unless you later assign to an instance of Bar.

    0 讨论(0)
提交回复
热议问题