当前位置:  开发笔记 > 编程语言 > 正文

在c ++中复制一个未知的具体类型

如何解决《在c++中复制一个未知的具体类型》经验,为你挑选了1个好方法。

假设我们有以下类层次结构:

class Base {
    ...
};

class Derived1 : public Base {
    ...
};

class Derived2 : public Base {
    ...
};

给定一个Base*可能点到任何一个Derived1Derived2反对我怎样才能使给定的,它的具体类型的实际对象的副本是未知的.我想过定义复制构造函数,但我不认为在不知道所涉及的实际类型的情况下这是可能的.我能想到的唯一解决方案是clone()在层次结构中为每种类型定义一个方法.任何人都可以想到更优雅的东西吗?



1> Andrew Grant..:

不幸的是,虚拟克隆/复制模式是您唯一真正的选择.

这有各种变化,但基本上它们都归结为为每个可以返回新副本的类型编写函数.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有