组合和聚合中的头文件包含

聚合关系的两个类不需要头文件包含,而组合关系的两个类则需要头文件包含。
即:以下场合需要包含头文件:
1、A与B是组合关系。即B是A的元件类。在程序实现上,B作为A的一个属性而存在。
示例代码如下:

#pragma once
#include 
"Leg.h"
class Hourse
{

    Leg leg;
};


2、A与B是依赖关系,特指B作为A中某个方法的形参(按引用传递或按值传递)。

以下则不需要头文件包含:

1、A与B是聚合关系。即B是A的工厂。在程序实现上,B类型的指针作为A的一个属性而存在。
这时只需要在A中声明一下B是一个类即可。

示例代码如下:

#pragma once
class Printer;
class Computer
{

    Printer
* printer;
};

范晨鹏
------------------
软件是一种态度
成功是一种习惯


原文地址:https://www.cnblogs.com/diylab/p/1141725.html