我的课是这样的:
class FB_I {
public:
virtual void foo() = 0;
virtual void bar() = 0;
};
class TEE_I {
public:
virtual void tee() = 0;
};
class C: public FB_I, public TEE_I {
public:
virtual void foo();
virtual void tee();
};
现在我意识到 foo() 和 bar() 实际上并不是完全独立的,foo() 必须在 bar() 之前调用。
鉴于以下情况,我想知道处理此问题的最佳解决方案是什么:
- 我不想在 C::foo() 和 C::tee() 中添加逻辑来捕捉乱序调用。
- 我可以将该解决方案用作处理另一种情况的模式,foo() 和 bar() 是替代 API:当一个被调用时,另一个不应该被调用。