美文网首页C++
C++——成员对象和封闭类

C++——成员对象和封闭类

作者: d16ug_a1l | 来源:发表于2018-12-25 00:17 被阅读31次

有其他类的对象作为 成员对象的类叫封闭类。

任何生成封闭类对象的语句,都要让编译器明白,对象中的成员对象,是如何初始化的。

具体做法是通过封闭类的构造函数的初始化列表。

封闭类对象生成时,先执行所有对象成员的构造函数,然后才执行封闭类的构造函数。

对象成员的构造函数调用次序和对象成员在类中的说明次序一致,与它们在成员初始化列表中的出现次序无关。

当封闭类对象消亡时,先执行封闭类的析构函数,然后再执行成员对象的析构函数。次序和构造函数的调用顺序相反。其原因是如果封闭类带的析构函数中使用到了成员对象的内容,那么先执行成员对象的析构函数,就可能会导致封闭类的析构函数在执行时发生不可预估的错误。

封闭类构造函数实例。

// ConsoleApplication3.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//

#include "pch.h"

#include <iostream>

class Lun_zi

{

public:

Lun_zi(int k,int z);

~Lun_zi();

private:

int kuan;

int zhijing;

};

Lun_zi::Lun_zi(int k,int z)

{

kuan = k;

zhijing = z;

std::cout << "轮子1" << std::endl;

}

Lun_zi::~Lun_zi()

{

std::cout << "轮子2" << std::endl;

}

class yin_qing

{

public:

yin_qing();

~yin_qing();

private:

};

yin_qing::yin_qing()

{

std::cout << "引擎1" << std::endl;

}

yin_qing::~yin_qing()

{

std::cout << "引擎2" << std::endl;

}

class CAR

{

public:

CAR(int money,int k,int z);

~CAR();

private:

Lun_zi l_z;

yin_qing y_q;

int jia_ge;

};

CAR::CAR(int money, int k, int z):l_z

相关文章

  • C++ 成员对象和封闭类

    01 成员对象与封闭类 类里有其他对象则该对象叫成员对象;有成员对象的类叫 封闭类; 上例中,如果CCar类不定义...

  • C++——成员对象和封闭类

    有其他类的对象作为 成员对象的类叫封闭类。 任何生成封闭类对象的语句,都要让编译器明白,对象中的成员对象,是如何初...

  • 成员对象和封闭类

    注:以下大部分内容来源于 coursera 课程《C++程序设计》 成员对象: 定义:一个类的成员变量是另一个类的...

  • 慕课网-C++远征之封装篇(下)-学习笔记

    C++远征之封装篇(下) c++封装概述 类 & 对象 对象+数据成员 = 对象成员 对象 + 数组 = 对象数组...

  • C++系列之面向对象

    C++类&对象 C++类定义 类&对象详解 概念描述类成员函数[https://www.runoob.com/cp...

  • 《面向对象程序设计 C++》类数据成员和类成员函数

    类数据成员 C++类中有一种类型成员,属于类本身,而不属于类的对象,这种类型成员成为类成员,而属于对象的成员成为对...

  • C++基础2020-11-09

    C++ 类 & 对象 关键字 public 确定了类成员的访问属性 类的对象的公共数据成员可以使用直接成员访问运算...

  • C++ const用法

    一 修饰类 C++中const修饰类主要包括3个部分:数据成员,成员函数,对象。 数据成员const 修饰类的成员...

  • C++常对象-常函数-常成员变量

    C++常对象-常函数-常成员变量 C++常对象 C++常对象, 就是使用const修饰的类实例!const A a...

  • C++基础(类和构造函数)

    C++基础 类和构造函数 类 类:类是定义同一类所有对象得变量和方法的蓝图或原型。数据与算法的统一。成员成员函数保...

网友评论

    本文标题:C++——成员对象和封闭类

    本文链接:https://www.haomeiwen.com/subject/orfxlqtx.html