【转载】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 

版权声明:本文为博主原创文章,转载请附上博文链接!
posted @ 2019-02-26 22:29  CodingNote  阅读(1092)  评论(0编辑  收藏  举报