c++ - 如何在多态性中为指定类型分配内存?

标签 c++ class inheritance polymorphism

我有一个抽象类,其他 3 个类继承自该抽象类,它们是具体类。我有一个抽象类类型的指针。我想编写一个函数,它接收我提到的 3 个类之一的对象,然后为其分配内存(使用基类指针),然后将传递的对象的值分配给它。如何在我的函数中为该特殊类型内存? (我不知道我收到的对象是什么类型,我只知道它继承 self 的抽象类)

谢谢。

最佳答案

我解决这个问题的方法是在抽象基类中添加一个duplicate() 方法,然后在每个派生类中实现它。每个实现都确切地知道它有多大,所以它可以使用 new 来分配内存。它还确切地知道它有什么内容,因此它可以将它的值分配给新实例。不错,简单,优雅。和面向对象。

关于c++ - 如何在多态性中为指定类型分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43876842/

相关文章:

C++ QT 桌面工具栏

c++ - 使用类定义数组创建 C++ 类

c++ - 变量改变它的值

c++ - 从 matlab 调用类时出现段错误

Java:集合中的接口(interface)未被识别为参数

c# - 是否有任何 C# 或 C++ 框架可以帮助录制桌面应用程序的视频?

C++回调系统。指向成员函数的指针

c# - 使用 JSON 架构正确创建 .NET 类

java - 在哪里添加数组?

c++ - 可以将多个 boost::signal 连接到 1 个插槽吗?