聚合關係的兩個類不需要標頭檔案包含,而組合關係的兩個類則需要標頭檔案包含。
即:以下場合需要包含標頭檔案:
1、a與b是組合關係。即b是a的元件類。在程式實現上,b作為a的乙個屬性而存在。
示例**如下:
#pragma
once
#include
"leg.h
"class
hourse
;2、a與b是依賴關係,特指b作為a中某個方法的形參(按引用傳遞或按值傳遞)。
以下則不需要標頭檔案包含:
1、a與b是聚合關係。即b是a的工廠。在程式實現上,b型別的指標作為a的乙個屬性而存在。
這時只需要在a中宣告一下b是乙個類即可。
示例**如下:
#pragma
once
class
printer;
class
computer;
組合和聚合中的標頭檔案包含
聚合關係的兩個類不需要標頭檔案包含,而組合關係的兩個類則需要標頭檔案包含。即 以下場合需要包含標頭檔案 1 a與b是組合關係。即b是a的元件類。在程式實現上,b作為a的乙個屬性而存在。示例 如下 pragma once include leg.h class hourse 2 a與b是依賴關係,特指...
標頭檔案的相互包含
標頭檔案的相互包含在編譯時如果順序不注意就很容易造成編譯錯誤。遇到乙個標頭檔案,一開始並沒有包含其他標頭檔案而是定義了一些列舉,然後再包含另外乙個標頭檔案,這樣就很類似於 1 1 2 1 1 在1標頭檔案中包含2標頭檔案,預處理時就是以這樣的形式處理交給編譯器,原本的用意是在1標頭檔案的包含2之前的...
DDD中的聚合和UML中的聚合以及組合的關係
uml 聚合關係 成員物件是整體的一部分,但是成員物件可以脫離整體物件獨立存在。如汽車 car 與引擎 engine 輪胎 wheel 車燈 light 之間的關係為聚合關係,引擎 輪胎 車燈可以脫離車而存在,比如把乙個引擎換到另乙個汽車上也可以。組合關係 也表示的是一種整體和部分的關係,但是在組合...