我的意思是执行以下操作:
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 等)或预先创建的类型。
如果这个问题太模糊,或者如果它已经被回答,请告诉我。
语言功能是否有用,实际上取决于您使用它的方式和位置。对于从模板化抽象模板继承,这是我能想到的一个假设场景,它可能有用。
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 ...
请注意,这可能不是实现它的最佳方式,但我的观点是,您总能找到对所有事物的用途。:)