服务器之家

服务器之家 > 正文

C++聚合关系类的构造函数的调用顺序详解

时间:2021-04-02 16:35     来源/作者: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++聚合关系类的构造函数的调用顺序详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部