【发布时间】:2012-12-18 20:44:27
【问题描述】:
class A {
void methodToCall() {};
}
class B {
B() {
subscribeToEvent();
}
void eventHandler(Event* E) {
call A::methodToCall()
}
}
class C : public A, public B{
}
这似乎是一种罕见的情况,所以让我解释一下我要做什么。
我有很多类似于 A 类的类。它们是由另一个框架生成的,所以我无法控制它们是如何生成的。
对于每个类 A,我都有一个或多个类 C 继承了像 A 这样的类。
我开发了在调用 eventHandler() 时调用 A::MethodToCall() 的需要。我的目标是不必在我的所有类(如 C 类)中订阅和提供 eventhadler 方法。
我更愿意创建一个 B 类,我的所有 C 类都可以简单地继承。
我的问题是我不知道如何从 B 类调用 A 类。
如果有更好的方法,我愿意接受。
【问题讨论】:
标签: c++ inheritance base-class