【发布时间】:2015-04-23 02:57:10
【问题描述】:
考虑 C++ 类之间的多级继承。考虑:
struct A {
void Dummy1() { }
};
struct B : A {
void Dummy1() { }
};
struct C : B {
void Dummy() {
Dummy1();
}
void Dummy1() { }
};
struct D : C {
void Dummy1() { }
};
struct E : D {
void Dummy1() { }
};
给定:
E e;
e.Dummy();
我想知道哪个 Dummy1 会被调用。是在C 类中定义的还是在E 类中定义的?
另外,我对多级继承中的函数调用感到非常困惑,比如在虚拟函数等的情况下。有人可以推荐一本书或文章来帮助我理解这一点。我用谷歌搜索了很多,但找不到任何有用的东西。
提前致谢。
【问题讨论】:
标签: c++ inheritance