用文字表达起来有点困难,我举个例子:
(以下代码可能语法不正确,但足以给出一个思路)
class A
{
public:
static void Update(UINT someValue);
};
class B : public A
{
public:
static void Update(UINT someValue);
};
class C : public A
{
public:
static void Update(UINT someValue);
};
我知道静态成员函数不会互相覆盖,
但让我们假设他们这样做了。
我想要实现的是什么时候 A::Update(someValue);
叫做,
它应该隐式调用 B::Update(someValue) 和 C::Update(someValue),以及调用每个 static void Update(UINT someValue)
从 A 派生的其他类的方法
这有可能以某种方式实现吗? 如果是,您会怎么做?
最佳答案
我认为你应该改用复合模式。您可以在 http://en.wikipedia.org/wiki/Composite_pattern 阅读相关信息和 http://www.javacamp.org/designPattern/composite.html
关于c++ - 是否有可能有一个基类方法调用所有派生类的相同(但被覆盖的方法)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9484807/