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

 更新时间:2016年05月17日 11:22:49   投稿:jingxian  
下面小编就为大家带来一篇C++聚合关系类的构造函数的调用顺序详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考,一起跟随小编过来看看吧

如图,表示一个聚合关系

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

#pragma once
class Engine
{
public:
  Engine();
  ~Engine();
};
Engine.h
#include <iostream>
#include "Engine.h"
using namespace std;

Engine::Engine()
{
  cout << "调用构造函数:Engine()" << endl;
}

Engine::~Engine()
{
  cout << "调用析构函数:~Engine()" << endl;
}
Engine.cpp
#pragma once
#include "Engine.h"

class Car
{
public:
  Car();
  ~Car();
private:
  Engine m_eCar;
};
Car.h
#include <iostream>
#include "Car.h"
using namespace std;

Car::Car()
{
  cout << "调用构造函数:Car()" << endl;
}

Car::~Car()
{
  cout << "调用析构函数:~Car()" << endl;
}
Car.cpp

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

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

相关文章

  • C语言实现通讯录管理系统

    C语言实现通讯录管理系统

    这篇文章主要为大家详细介绍了C语言实现通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 浅谈socket TCP编程中connect的一些坑

    浅谈socket TCP编程中connect的一些坑

    下面小编就为大家带来一篇浅谈socket TCP编程中connect的一些坑。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Qt中const QString转换 char *可能的坑

    Qt中const QString转换 char *可能的坑

    本文主要介绍了Qt中const QString转换 char *可能的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • C++中POCO库的安装与基础知识介绍(Windwos和Linux)

    C++中POCO库的安装与基础知识介绍(Windwos和Linux)

    这篇文章主要为大家介绍了C++ POCO库的简单介绍、下载以及安装方式、简单代码示例,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-05-05
  • C语言进程程序替换的实现详解

    C语言进程程序替换的实现详解

    为什么要进程替换?因为父进程创建出来的子进程和父进程拥有相同的代码段,所以,子进程看到的代码和父进程是一样的。当我们想要让子进程执行不同的程序时候,就需要让子进程调用进程程序替换的接口,从而让子进程执行不一样的代码
    2022-08-08
  • OpenCV识别图像上的线条轨迹

    OpenCV识别图像上的线条轨迹

    这篇文章主要为大家详细介绍了OpenCV识别图像上的线条轨迹,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 一篇文章带你了解C++智能指针详解

    一篇文章带你了解C++智能指针详解

    这篇文章主要介绍了c++ 智能指针基础的相关资料,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下,希望能给你带来帮助
    2021-08-08
  • 解析c++中参数对象与局部对象的析构顺序的详解

    解析c++中参数对象与局部对象的析构顺序的详解

    本篇文章是对c++中参数对象与局部对象的析构顺序进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++基于灰度图上色GrayToColorFromOther的实现

    C++基于灰度图上色GrayToColorFromOther的实现

    本文主要介绍了C++基于灰度图上色GrayToColorFromOther的实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • 详解C语言的mem系列函数

    详解C语言的mem系列函数

    这篇文章主要为大家详细介绍了C语言的mem系列函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论