C++ c++;如何重铸而不失去价值
有人能帮我选演员吗?我有两个班;其中一个可移动对象和另一个PlantMO。movableObject是我的基类,plantMO就是从它派生的。首先,我向一个可移动对象投射一个PlantMO,以使所有可移动对象保持在同一区域。在那之后,当我使用其中一个时,我重铸了它,但是它(PlantMO)成员的价值丢失了C++ c++;如何重铸而不失去价值,c++,C++,有人能帮我选演员吗?我有两个班;其中一个可移动对象和另一个PlantMO。movableObject是我的基类,plantMO就是从它派生的。首先,我向一个可移动对象投射一个PlantMO,以使所有可移动对象保持在同一区域。在那之后,当我使用其中一个时,我重铸了它,但是它(PlantMO)成员的价值丢失了 我的问题是,;如何在不丢失成员的情况下重铸它?如果看不到您的代码,我无法准确地向您展示您需要做什么,但您需要使用指针或引用,类似这样的东西(注意,我没有尝试编译此代码,它只是一个抽象示例) 让
我的问题是,;如何在不丢失成员的情况下重铸它?如果看不到您的代码,我无法准确地向您展示您需要做什么,但您需要使用指针或引用,类似这样的东西(注意,我没有尝试编译此代码,它只是一个抽象示例)
让我猜猜:您没有使用指针或引用,因此正在经历对象切片吗?@chris所说的可能是正确的。我们需要查看您的代码以帮助您。好的问题应该包含说明问题的代码示例。否则我们将猜测实际问题是什么。你不能,也不应该。事实上,我使用了指针。我无法共享我的代码,因为它太大了。但是尝试了一点代码块,它就成功了。所以我的方法是正确的,我的代码中有一个错误。谢谢您的回答。@umut-当导致问题的代码太大时,请将其减少。为了理解一个问题,你必须孤立它;将一个大型程序缩减为一个小型程序,编译、运行并显示问题,这会给您带来一些可以发布的内容,通常也会给您带来一些不需要发布的内容,因为它会告诉您问题所在。
class A {
}
class B : A {
}
main () {
B& refB = new B();
SomeFunction(refB);
}
void SomeFunction(A& aRefToA) {
// Call functions of A.
}