【发布时间】:2017-10-08 04:18:22
【问题描述】:
我有一个抽象类,其他 3 个类从它继承,它们是具体类。我有一个抽象类类型的指针。我想编写一个函数,它接收我提到的 3 个类之一的对象,然后为此分配内存(使用基类指针),然后将传递的对象的值分配给它。我怎样才能new 在我的函数中为该特殊类型提供内存?
(我不知道我收到的对象的类型。我只知道它继承自我的抽象类)
谢谢。
【问题讨论】:
-
你怎么不知道传递给函数的类型?你在传递一个基类指针吗?如果是这样,听起来您需要的是:stackoverflow.com/questions/12255546/…
-
也许一些示例代码可能有助于说明您的答案...
-
如果那个函数已经接收到一个对象,为什么还要分配内存?
-
您是否考虑过实施克隆模式? stackoverflow.com/questions/5148706/…
-
这就是
clone函数的用途。
标签: c++ class inheritance polymorphism