つまり、次のことを行います。
template<class Type> class Foo {
public:
... // Code Here.
};
class Bar : public Foo<Type> {
public:
...
};
クラスBarを宣言するときのTypeは、実際にはタイプ(int、boolなど)または事前に作成されたタイプです。
この質問があいまいすぎる場合、または既に回答済みの場合はお知らせください。
つまり、次のことを行います。
template<class Type> class Foo {
public:
... // Code Here.
};
class Bar : public Foo<Type> {
public:
...
};
クラスBarを宣言するときのTypeは、実際にはタイプ(int、boolなど)または事前に作成されたタイプです。
この質問があいまいすぎる場合、または既に回答済みの場合はお知らせください。
言語機能が役立つかどうかは、それをどこでどのように使用するかにかかっています。テンプレート化された抽象テンプレートから継承するために、私が考えることができる 1 つの架空のシナリオを次に示します。
template <typename Type> class Gadget {
public:
string name() = 0;
};
class SmartPhone : public Gadget<Phone> {
public:
string name() { return "I am a smart phone"; }
};
class SportsCar : public Gadget<Car> {
public:
string name() { return "I am a sports car"; }
};
vector<Gadget*> inventory;
inventory.push_back(new SmartPhone());
inventory.push_back(new SportsCar());
// etc ...
これはおそらく最良の実装方法ではないことに注意してください。:)