【发布时间】:2016-12-29 13:03:58
【问题描述】:
#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;
}
结果是 A C A B D。 我的理解是D继承自C和B,如果在D中创建了一个对象“d”,那么它也具有C和B的属性。由于B和C都继承自A,D也应该继承自A . 有人可以解释一下结果吗?我的预测很差……
【问题讨论】:
-
嗨。欢迎来到 SO。您应该为编程语言添加一个标签,以便向该语言专家的人显示问题。 :)
-
嗨!谢谢你的提示!我还是新手 ^^
-
@codenoob 欢迎来到 Stack Overflow。请花时间阅读The Tour 并参考Help Center 中的材料,您可以在这里问什么以及如何问。
标签: c++ oop inheritance