![]() |
1
4
可能还有其他设计不需要您使用指针,但是如果您需要或想要这样做,这可能会引起您的兴趣。 如果返回一个指针是一个问题(因为需要“清理”东西),您肯定应该考虑使用智能指针作为返回类型。 以下是使用智能指针的工厂方法的示例:
这样,你就不用打电话了
如果之后需要转换结果指针,
|
![]() |
2
7
您可以包装:
这类似于策略模式:实际操作数行为是隐藏的,可以通过非虚拟接口访问。用户获取
|
![]() |
3
0
我知道这个问题前一段时间有人问过,但最近我自己也遇到了这个问题,我想出了一个不同的解决方案,我认为在这里可以有所帮助。
每个派生类现在都必须实现它自己的克隆方法,您就可以开始了! 为了以防万一,这里有一篇很好的帖子解释了派生类型的克隆是如何工作的: Copying derived entities using only base class pointers, (without exhaustive testing!) - C++ 希望这能帮到别人! |
![]() |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
|
James Nguyen · Java多态性:为什么返回错误? 7 年前 |
|
Alex Cristea · 如何从另一个类的数组中打印特定行 7 年前 |
![]() |
juztcode · C语言中的静态和动态分辨率++ 7 年前 |
![]() |
Hugo · 具有多态关系的活动记录获取关联模型 7 年前 |
![]() |
pooya13 · 机器代码层上虚函数和条件执行的区别 7 年前 |
![]() |
Nisba · C中子类类型未知的模型类/子类++ 7 年前 |
![]() |
R zu · 使用多次调用的可替换方法初始化 7 年前 |