gpt4 book ai didi

c++ - 在 C++ 多重继承中如何选择将继承哪个基类方法?

转载 作者:行者123 更新时间:2023-11-28 06:07:12 25 4
gpt4 key购买 nike

<分区>

考虑以下简单示例:

#include <iostream>
using namespace std;

class A {
public:
virtual void foo() {
cout<<"A"<<endl;
}
};

class B: public virtual A {
public:
virtual void foo(){
cout<<"B"<<endl;
}
};

class C : public virtual A {
public:
virtual void foo(){
cout<<"C"<<endl;
}
};

class D : public B, public C {
public:
void print(){
foo();
}
};

int main () {
D d;
d.print();
return 0;
}

此代码将不起作用,因为对 foo 的调用不明确。但问题是:

如何定义应从哪些类继承哪些方法?如果我有这样的机会呢?

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