读书人

一种基类的设计,该如何解决

发布时间: 2013-07-09 09:50:48 作者: rapoo

一种基类的设计
基类的设计是否有问题?


基类提供了一个copy函数

函数原型大概为:

基类指针 Copy(cosnt 基类指针);

真不懂这种设计有什么好处? 感觉怪怪的, 首先你得知道你要派生有多少种类,

然后在Copy函数根据一些变量来区分是那种类, 然后用dynamic_cast来进行转换


感觉怪怪的
[解决办法]
virtual base* clone() const

[解决办法]
显然是要通过多态的方式来进行深浅拷贝用的
[解决办法]

引用:
Quote: 引用:

ls.这个Copy方法设置为静态是在是不妥当,为什么呢,因为首先静态是为了保存当前状态用的,而你的Copy中却重新复制了一份数据给外部对象,所以你的这个static在这里无任何作用,失去了它原有的意义。
其次,在你的Copy构造函数中,尽量少做转型动作,用多态方式都是可以搞定的。


可否提供的你的代码,如果不方便提供的话, 可否提供相关的例子或者文章



引用:
C++提供了运行时动态机制,可以结合prototype模式,很好的完成这个需求。


多谢你的思路,可否提供相关的例子,

我学习一下,

多谢


看看这个

读书人网 >C++

热点推荐