1つの割り込みベクトルで多数のオブジェクトを直列に処理するSharedInterruptクラス(B)を作成したいと思います。ただし、SharedInterruptクラス(B)の派生クラス(C ..)は、SingleInterruptクラス(A)と同じISR()関数(func)を持っている必要があります。出来ますか?
class A {
public:
virtual void func() = 0;
};
class B : public A {
private:
void func() // I want to hide this method from derived classes (C, etc.)
{
// some code
}
public:
virtual void func() = 0; // And I want to keep A's interface, but compiler error!
};
class C : public B {
public:
void func() {
// some other code
}
};
PSこれで、非表示にするアイデアが1つだけあり、Bから中間サブクラスを作成してA :: func()を非表示にし、そこからCを継承します。