2011年6月8日

摘要: C++面向对象编程,对类之间关系的设计与理解是不可必免的,而类间关系有很多种,在大的类别上可以分为两种:纵向关系、横向关系。纵向关系就是继承关系,它的概念非常明确,也成为OO的三个重要特征之一,这里不过多的讨论。横向关系较为微妙,按照UML的建议大体上可以分为四种: ● 依赖(Dependency) ● 关联(Association) ● 聚合(Aggregation) ● 组合(Composition) 它们的强弱关系是没有异议的:依赖 < 关联 < 聚合 < 组合,然而它们四个之间的差别却又不那么好拿捏,需要好好体会。 ■ 依赖: UML表示法:虚线 + 箭头 关系:&q 阅读全文
posted @ 2011-06-08 16:28 GIS-mentor 阅读(1029) 评论(0) 推荐(1)
 
摘要: 刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样: 1 //a.h 2 #include "b.h" 3 class A 4 { 5 ... 6 private: 7 B b; 8 }; 9 //b.h10 #include "a.h"11 class B12 {13 ...14 private:15 A a;16 };一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。 阅读全文
posted @ 2011-06-08 16:16 GIS-mentor 阅读(601) 评论(2) 推荐(0)