【转载】C++对象成员与构造函数

时间:2024-01-01 13:48:18

一个类的对象可以作为另一个类的数据成员,此时把该对象称为类的对象成员。

当一个类中出现对象成员时,该类的构造函数就要为对象成员初始化,对象成员的初始化必须在构造函数的初始化表中完成。

注意:

初始化对象成员时必须用对象成员名,而不是它的类型名。例如:
class Date
{ int year, month, day; Date(int y, int m, int d)
{
year = y;
month = m;
day = d;
}
}; class Person
{
char name[];
char sex[];
Date birthday;
public:
Person(char*, char*, int, int, int);
……
}; Person:Person(char *n, char *s, int y, int m, int d):birthday(y, m ,d)
{
strcpy(name, n);
strcpy(sex, s);
}

若一个类包含对象成员,在建立该类的对象时,先调用对象成员的构造函数,初始化相应的对象成员,然后才执行该类的构造函数。
如果一个类包含多个对象成员,对象成员的构造函数的调用顺序由它们在该类中的说明顺序决定,而它们在初始化表中的顺序无关。

--------------------- 
作者:HAHAandHEHE 
来源:CSDN 
原文:https://blog.csdn.net/HAHAandHEHE/article/details/79617028

版权声明:本文为博主原创文章,转载请附上博文链接!