Advanced Programming*
Homework II L
A
T
E
X
*
Teacher: Shujian Huang. TA: Yiyu Zhang
1
st
张逸凯 171840708
Department of Computer Science and Technology
Nanjing University
zykhelloha@gmail.com
I. 概念题(从课本中回答, 回归课本)
一、构造函数和析构函数分别在什么时候被调用?构造函数有哪些特征?
解:
在创建对象的时候, 构造函数将会被自动调用.
当对象消亡的时候, 在系统收回它所占的内存空间之前, 会自动调用对象类的析构函数.
构造函数的特征:
• 1. 在对象类中定义或声明的与类同名的
• 2. 无返回值类型的
一种成员函数.
二、什么是默认构造函数,它会在什么时候被调用?
解:
默认构造函数是不带参数的(或所有参数都有默认值的)构造函数.
在创建对象时, 如果没有指定调用何种构造函数对其初始化, 则默认函数会被调用, 进行初
始化.
编译程序会在需要时会隐式地提供一个默认构造函数, 它可以负责调用 成员对象类和基类
的构造函数.
三、哪些情况下必须使用成员初始化表来初始化数据成员?
解:
对于类中的 常量类型数据成员和引用类型数据成员, 不能采用赋值操作对其 初始化, 这时
需要在定义构造函数的时候, 在函数头和函数体之间加入一个成员初始化表.
∗
谢谢老师和助教哥的耐心批改.
评论0