更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

C++类的组合和前向引用声明

  • 发布:C++培训
  • 来源:学习笔记
  • 时间:2017-05-26 15:06

类的组合

C++类的组合和前向引用声明。类的组合描述的就是一个类内嵌其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。当创建类的对象时,如果这个类具有内嵌对象成员,那么各个内嵌对象将首先被自动创建。因此,在创建对象时既要对本类的基本类型数据成员进行初始化,又要对内嵌对象成员进行初始化。

在创建一个组合类的对象时,不仅它自身的构造函数的函数体将被执行,而且还将调用其内嵌对象的构造函数,这时构造函数的调用顺序如下:

1.调用内嵌对象的构造函数,调用顺序按照内嵌对象在组合类的定义中出现的次序。与在构造函数的初始化列表中出现的顺序无关。

2.执行本类的构造函数

如果有些内嵌对象没有出现在构造函数的初始化列表中,那么在第一步中,该内嵌对象的默认构造函数将被执行。

有些数据成员的初始化,必须在构造函数的初始化列表中进行。这些数据成员包括两类,一是那些没有默认构造函数的内嵌对象,因为这类对象的初始化时必须提供参数,另一类是引用类型的数据成员,因为引用类型变量必须在初始化时绑定引用的对象。如果一个类包括这两类成员,你们编译器不能够为这个类提供隐含的默认构造函数,这时必须编写显示的构造函数,并且在每个构造函数的初始化列表中至少为这两类数据成员初始化。

析构函数的调用顺序与构造函数的调用顺序相反。

如果一个类没有编写复制构造函数,编译系统会在必要时自动生成一个隐含的复制构造函数,这个隐含的函数会自动调用内嵌对象的复制构造函数,为各个内嵌对象初始化。

 

前向引用声明

前向引用声明,是在引用未定义之前,将该类的名字告诉编译器,使编译器知道那是一个类名。

在提供一个完整的类定义之前,不能定义该类的对象,也不能在内联成员函数中使用该类的对象。可以声明该类的对象引用或指针。

在使用前向引用声明时,只能使用被声明的符号,而不能涉及类的任何细节。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:C语言 单引号和双引号的区别
下一篇:C++ new的用法,C++编程 new的用法解析

C语言创建windows窗口实例

C++回调函数是什么?

C++ shared_ptr和动态数组

C语言有哪些关键词,C语言44个关键词大全

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省