#include <iostream>
using namespace std;
struct A {
A() { cout << "A "; }
};
struct B: A {
B() { cout << "B "; }
};
struct C: A {
C() { cout << "C "; }
};
struct D: C, B {
D() { cout << "D "; }
};
int main(){
D d;
}
结果是ACAB D. 我的理解是d选自C和B继承,并且如果在d中创建对象“d”,那么它也具有从C和B.而且,由于B与属性C既从A继承,D也应从A继承。有人可以解释结果吗?我的预测是遥远......有人可以解释这个继承代码吗?
嗨。欢迎来到SO。您应该为编程语言添加一个标签,以便为那些使用该语言的专家显示问题。 :) – Simba
嗨!谢谢你的提示!我还是新来的SO ^^ – codenoob
@codenoob欢迎堆栈溢出。请花些时间阅读[The Tour](http://stackoverflow.com/tour),并参阅[帮助中心](http://stackoverflow.com/help/asking)中的资料,了解您可以在这里问。 –