次のコードがあります。
template <typename T>
class A {
public:
virtual void func() {
// Things that don't use T parameter.
}
};
class B : public A<int> {
public:
void func() {
A<int>::func();
// Working...
}
};
基本的に、クラス テンプレートで定義された仮想関数を、そのようなテンプレート (A) の特殊化されたバージョンから継承するクラス内からオーバーライドしたいと考えています。
これは C++ で動作しますか? それは良い習慣ですか?また、オーバーライドしたメソッドで行ったように、オーバーライドされたメソッドを呼び出しても問題ありませんか? (私が使用しているツールチェーンとの互換性のために、これは C++98 であることに注意してください)
ありがとうございました。