【发布时间】:2021-10-13 12:03:26
【问题描述】:
假设我们有两个类。
class Base {};
class Derived : public Base {};
在我的代码的另一部分,我想要一个Base 类型的变量,它也可以保存Derived 类型的对象。
Base b1, b2;
b1 = Base();
b2 = Derived();
在 Java 或 C# 等语言中,这是可能的。然而,在 c ++ 中,我得到一个切片错误。
有没有办法在 C++ 中复制例如 Java 的行为?
【问题讨论】:
-
您是否熟悉其他语言中的值类型和引用类型?您是否熟悉 C++ 中的所有类在默认情况下本质上都是值类型的概念?你熟悉指针和引用吗?如果没有任何这些问题,那么您需要进行研究/学习。
-
你可以复制行为,但代码会有所不同。
标签: c++ inheritance