gpt4 book ai didi

c++ - 使用虚拟继承时调用默认构造函数

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:49 28 4
gpt4 key购买 nike

<分区>

在下面的代码中,当我创建 C 的对象时,A 的默认构造函数通过 B 的构造函数被调用,为什么会这样?

#include <iostream>
using namespace std;

class A
{
public:
int a;
A(int z): a(z) {cout<<"a is "<<a;}
A() { cout<<" it came here\n";}
};

class B: public virtual A
{
public:
B(int z): A(z) {cout<<"in B and z is "<<z<<"\n"; }
};

class C:public B
{
public:
C(int z): B(z) {cout<<" In C\n"; }
};

int main()
{
C b(6);
cout<<b.a;
return 0;
}

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