社区
C语言
帖子详情
关于c++设计方式的讨论
andyda
2001-08-31 12:02:23
打个比方吧,假如我有一堆各种形状的东西要先涂上颜色再挂到墙上,涂色的方法基本是相同的,只是东西不同,用的刷子也不同。而挂的方法和工具就基本上都不相同了,比如隔板要先钻孔再赛螺钉,挂钟则可以直接钉钉子等等。
编程解决的话,用模板好呢,还是虚基类继承好呢?
...全文
129
13
打赏
收藏
关于c++设计方式的讨论
打个比方吧,假如我有一堆各种形状的东西要先涂上颜色再挂到墙上,涂色的方法基本是相同的,只是东西不同,用的刷子也不同。而挂的方法和工具就基本上都不相同了,比如隔板要先钻孔再赛螺钉,挂钟则可以直接钉钉子等等。 编程解决的话,用模板好呢,还是虚基类继承好呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
如果问题仅仅是你上面所描述的,我认为用继承好。
算法
设计
与分析
课程沿用主讲老师hwdong的一贯的干货无废话、通俗易懂的讲课风格,课程内容不拘泥于某个书本,综合不同的资料,精心组织合理编排教学内容,避免了只采用一本书的局限性,不迷信权威、不迷信书本,剥去华丽深奥概念的外衣,破除算法
设计
与分析课程难的迷信,跳出“不识庐山真面目、只缘身在此山中”的怪圈,课程直接解剖算法的本质而不是重复别人的教条。本课程将增加代码实现,帮助对代码实现感到困难的学员提高编程实现能力。课程内容包括:算法
设计
和分析的基本概念、算法的渐进分析、递归方程的求解、各自算法
设计
策略(如蛮力法/穷举法、状态空间搜索、回溯和分支限界、分治递归、贪心法、动态规划等),对每种算法
设计
方法都选取了典型的问题说明算法
设计
策略的具体应用,在理论介绍和伪代码基础上,进一步用
C++
语言实现算法,通过代码实现进一步加深对算法原理的理解,提高学员的编程能力,同时还会加强作业辅导并通过CDSN的列表进行
讨论
,希望通过课后作业、习题进一步训练学习的算法
设计
、分析和编程能力。 课程内容会次持续更新...
《
C++
设计
模式》
设计
模式代表了最佳的实践,在面向对象的编程中被很多老鸟们反复使用。使用
设计
模式有很多好处:可重用代码、保证代码可靠性、使代码更易被他人理解 ......
c++
语言的
设计
与演化pdf,
C++
语言的
设计
和演化(高清)pdf
作者综合性地阐述了
C++
的演进历史
c++
语言的
设计
和演化,
C++
中各类重要措施的本质含义和
设计
背景,这些措施的基本功能和使用
方式
,
讨论
了
C++
所适合的应用领域以及今后的演进前景。全书共18章,分两大部分,其中第1...
使用 Dev-
C++
开发windows程序界面
设计
关于
C++
编译器,
讨论
文章已经很多。详细对比的文章也很多,我只是说说我一个初学者的感受。 就我自己而言,当初上学时用的是TC 2.0,DOS时代的C
C++
编译利器,时代过于久远,除了练习C以外,不知道还能做什么。...
C++
语言的
设计
和演化pdf
下载地址:网盘下载内容简介······这本书是
C++
的
设计
者关于
C++
语言的最主要著作之一。作者综合性地论述了
C++
的历史和发展,
C++
中各种重要机制的本质意义和
设计
背景,这些机制的基本用途和使用方法,
讨论
了
C++
...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章