0

次のコードがあります。

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 であることに注意してください)

ありがとうございました。

4

0 に答える 0