组合类和嵌套类区别,实例代码详解

组合类简单点讲就是A类中有B类,B类定义在A类外面。比如点类和圆类,圆类就可以设计成组合类。因为外部程序会用到点对象,也会用到圆对象,所以这种将圆类设计成组合类比嵌套类较合适。
嵌套类就是A类中有B类,B类定义在A类里面。这种就有了从属关系,要单独定义B类就必须要写成A::B b(B定义在A类中公有的public部份),这种可以看成多了一层名字空间,但这不是主要目的。一般来说B类如果只属于A类,外部几乎不会用到B类,这种情况下就会设计成设计成嵌套类。对类进行嵌套通常是为了帮助实现另一个类,并避免名称冲突。