gpt4 book ai didi

c++ - 构造函数、成员对象

转载 作者:行者123 更新时间:2023-11-28 01:52:22 26 4
gpt4 key购买 nike

<分区>

class Person{

public:
Person(const string &nm, const string &surnm)
: name(nm), surname(surnm)
{

cout << "\ntimes";
}

private:
string name;
string surname;

};

class Family{

public:

Family(Person &dad, Person &mom, Person &chld )
: father(dad), mother(mom), child(chld)
{
}

private:

Person father;
Person mother;
Person child;

};


int main(void){

Person father1("John", "Gun");
Person mother1("Marry", "Gun");
Person child1("Alex", "Gun");

Family firstFamily(father, mother, child);


return 0;

}

当我编译这段代码时,没有发生错误。但是,当我定义“firstFamily”对象时,成员对象fathermother的内存child 被分配。如果为这些对象分配了内存,那么类Person的构造函数必须执行三次,我在main方法中使用类Person定义了三个对象。因此,Person 类的构造函数必须执行 6 次。但是,它执行了 3 次。为什么是3次?(会不会是我在构造函数类Family中初始化了father mother和child成员对象?而成员对象没有执行构造函数。)

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com