当前位置:首页 > 通信资讯 > 正文

c++组合和聚合(c++构造函数和析构函数调用顺序)

如图,表示一个聚合关系

c++组合和聚合(c++构造函数和析构函数调用顺序)

下面就用简单的代码来实现

?
1 2 3 4 5 6 7 8 #pragma once class Engine { public: Engine(); ~Engine(); }; Engine.h
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <iostream> #include "Engine.h" using namespace std; Engine::Engine() { cout << "调用构造函数:Engine()" << endl; } Engine::~Engine() { cout << "调用析构函数:~Engine()" << endl; } Engine.cpp
?
1 2 3 4 5 6 7 8 9 10 11 12 #pragma once #include "Engine.h" class Car { public: Car(); ~Car(); private: Engine m_eCar; }; Car.h
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <iostream> #include "Car.h" using namespace std; Car::Car() { cout << "调用构造函数:Car()" << endl; } Car::~Car() { cout << "调用析构函数:~Car()" << endl; } Car.cpp

c++组合和聚合(c++构造函数和析构函数调用顺序)

由此可以看出,对象的构造函数调用的顺序就好像我们造车子一样,先打造好引擎和其他部件才能拼装好汽车,析构函数的调用就和拆开汽车一样,先扒开最外面的,然后再扒里面的。

以上这篇C++聚合关系类的构造函数的调用顺序详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。