如圖,表示一個聚合關系
下面就用簡單的代碼來實現
1 #pragma once 2 class Engine 3 { 4 public: 5 Engine(); 6 ~Engine(); 7 }; Engine.h 1 #include <iostream> 2 #include "Engine.h" 3 using namespace std; 4 5 Engine::Engine() 6 { 7 cout << "調用構造函數:Engine()" << endl; 8 } 9 10 Engine::~Engine() 11 { 12 cout << "調用析構函數:~Engine()" << endl; 13 } Engine.cpp 1 #pragma once 2 #include "Engine.h" 3 4 class Car 5 { 6 public: 7 Car(); 8 ~Car(); 9 private: 10 Engine m_eCar; 11 }; Car.h 1 #include <iostream> 2 #include "Car.h" 3 using namespace std; 4 5 Car::Car() 6 { 7 cout << "調用構造函數:Car()" << endl; 8 } 9 10 Car::~Car() 11 { 12 cout << "調用析構函數:~Car()" << endl; 13 } Car.cpp由此可以看出,對象的構造函數調用的順序就好像我們造車子一樣,先打造好引擎和其他部件才能拼裝好汽車,析構函數的調用就和拆開汽車一樣,先扒開最外面的,然後再扒裡面的。