【转载】C++对象成员与构造函数
一个类的对象可以作为另一个类的数据成员,此时把该对象称为类的对象成员。
当一个类中出现对象成员时,该类的构造函数就要为对象成员初始化,对象成员的初始化必须在构造函数的初始化表中完成。
注意:
初始化对象成员时必须用对象成员名,而不是它的类型名。例如:
class Date { int year, month, day; Date(int y, int m, int d) { year = y; month = m; day = d; } }; class Person { char name[12]; char sex[4]; 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
版权声明:本文为博主原创文章,转载请附上博文链接!