假设我有两个类A和B,其中A是一个纯抽象类,有一个纯虚拟函数,B继承了A并实现了纯虚拟函数。如果我有一个函数g(),我想通过值将A子类的任何实例传递给(因此我可以在不更改原始实例的情况下对它进行变异),您将如何做到这一点?(A* myObject) {} //code compiles, but changes the original instance
我是否只是复制实例并创建一个指向它的指针,然后传递到上面这样的函数中
我似乎有一个对象切片的问题,这不属于我在这里看到的其他问题。我有一个非常简单的基类/子类继承模型。基类有一个纯虚函数,显然是子类实现的:public: virtual ~Parent(); virtual void DoStuff(); //Child can have "grandchildren"我想要的是
我正在学习虚函数,我对下面程序的结果感到非常困惑我希望a1.virFun(b1)和b1.virFun(b1)都应该返回"hello from B",但程序返回"hello from A“。你能解释一下为什么b1.sayHello()没有被调用吗,即使我将b1作为参数传递,而b1.sayHello()是虚函数。