标签:
如图,表示一个聚合关系
下面就用简单的代码来实现
1 #pragma once 2 class Engine 3 { 4 public: 5 Engine(); 6 ~Engine(); 7 };
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 }
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 };
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 }
由此可以看出,对象的构造函数调用的顺序就好像我们造车子一样,先打造好引擎和其他部件才能拼装好汽车,析构函数的调用就和拆开汽车一样,先扒开最外面的,然后再扒里面的。
标签:
原文地址:http://www.cnblogs.com/liunlls/p/cotr.html