码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-10-25 22:24:30      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:

如图,表示一个聚合关系

技术分享

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

技术分享
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

技术分享

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

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

标签:

原文地址:http://www.cnblogs.com/liunlls/p/cotr.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!