问:构造函数的参数如何初始化表?
考无忧小编解答:如果类对象的某些数据成员没有载构造函数内部被初始化,那么必须使用构造函数的参数初始化表对他们进行初始化。否则,编译器不止到该如何初始化这些还等着在构造函数内部赋值的成员。我们习惯用参数初始化表来初始化所有数据成员。
class Date
{
int mo,da,yr;
public:
Date(int m=0,int d=0,int y=0);
};
class Employee
{
int empno;
Date datehired;
public:
Employee(int en,Date & dh);
};
可以用下面两种方法编写Employee类的构造函数:
Employee::Employee(int en,Date & dt)
{
empno=en;
datehired=dh;
}
或者;
Employee::Employee(int en,Date & dt):empno(en),datehired(dh)
{
//empty
}
虽然这两种方法效果是一样的,但是根据Date对象默认构造函数的复杂性的不同,这两种形式的效率差别是很大的。
考无忧小编推荐:
更多计算机等级考试真题及答案>>>点击查看
想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看
本文网址:http://www.k51.com.cn/info/jsjdjks/1801/3025398.html