1
6
你需要重新设计。首先,更喜欢自由函数而不是成员函数。你应该拥有的唯一成员功能是那些需要进入私人空间的功能。 从这个组合开始:
在这里,协方差可以正常工作,因为类型是引用或指针,并且您可以重用代码。(
然后实现自由功能:
用同样的方法
你得到的是 容易的 编写这些运算符的方法,因为您可以使用运算符的核心,并且由于协方差,返回类型匹配。
|
2
0
我能想到的最好办法是用智能指针替换返回类型,放弃协方差,转而支持多态性:
根本的问题是调用方需要为值返回的对象分配存储。这种存储不能动态变化,因此不可避免地要在堆上分配对象。 |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
logonmanish · 虚拟com端口在Android上不工作 7 年前 |
AliS · 使用具有抽象基类指针的映射并调用派生类函数 8 年前 |
Philip Borgström · Java虚拟游戏板 9 年前 |
prestokeys · 具有完全可维护性的多重调度解决方案 9 年前 |
Nick_K · RTSP流到Windows 8上的虚拟视频设备 9 年前 |
Jay · 基于子类的属性对linq列表排序 10 年前 |
JLuc5 · C++父类,在两个不同的子类中实现了虚拟方法 10 年前 |