关于c++设计方式的讨论

andyda 2001-08-31 12:02:23
打个比方吧,假如我有一堆各种形状的东西要先涂上颜色再挂到墙上,涂色的方法基本是相同的,只是东西不同,用的刷子也不同。而挂的方法和工具就基本上都不相同了,比如隔板要先钻孔再赛螺钉,挂钟则可以直接钉钉子等等。
编程解决的话,用模板好呢,还是虚基类继承好呢?
...全文
129 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
andyda 2001-09-05
  • 打赏
  • 举报
回复
收到!谢谢,让我再想想……
krerix 2001-09-05
  • 打赏
  • 举报
回复
up
holyfire 2001-09-04
  • 打赏
  • 举报
回复
class Brush;
class Object;
class BrushOnObject{
Brush * brush;
Object * object;
};

用组合的方法可以减少很多重复信息,如何用刷子刷部件可以由BrushOnObject来控制
andyda 2001-09-04
  • 打赏
  • 举报
回复
哦?xiaoyy(飞霏菲菲)是MM么?名字挺象啊!

狐狸发兄,你的话说的我有点晕,能讲详细些么?谢谢谢谢!!
xiaoyy 2001-09-03
  • 打赏
  • 举报
回复
用COM最好
holyfire 2001-09-03
  • 打赏
  • 举报
回复
由于部件和刷子是多对多的关系,可以用一个关系类,刷部件类,这样每次刷都是一个刷子对一个部件,利用刷部件类的多态性和部件的多态性应该可以解决这个问题。
andyda 2001-09-03
  • 打赏
  • 举报
回复
为什么只有多重继承才有用呢?
另外,这么多对象,是声明许多类好呢?还是声明一个类然后再继承好呢?
这些对象彼此差别很大,可又有相同点,就是都要涂色然后悬挂。
xiterator 2001-08-31
  • 打赏
  • 举报
回复
继承+模板,虚基类一般在多重继承时才有机会用,所以要慎用。
cococut 2001-08-31
  • 打赏
  • 举报
回复
使用模板和继承的标准是
· 当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。
· 当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类。
因为妳挂的方法和工具是根据对象的不同而不同,也就是行为是因为对象而改变的,所以
你应该选用继承,在基类中定义纯虚函数,让子类继承基类的接口而不是实现(根据不同的对象而动态绑定);而对于涂色的方法,如果说是基本一样,妳可以在基类中定义为非虚函数,不过象妳所说的,如果是对象不一样,刷子不一样,建议一个参数作为标志传进去。

nofeal 2001-08-31
  • 打赏
  • 举报
回复
如果情况只有这么些,那还是用继承就可以解决的。
gffly 2001-08-31
  • 打赏
  • 举报
回复
当然是用继承好了
fsb_12345 2001-08-31
  • 打赏
  • 举报
回复
虚基类继承好!!
Elminster 2001-08-31
  • 打赏
  • 举报
回复
如果问题仅仅是你上面所描述的,我认为用继承好。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧