1

我的意思是执行以下操作:

template<class Type> class Foo {
public:
... // Code Here.
};

class Bar : public Foo<Type> {
public:
...
};

声明类 Bar 时的Type实际上是类型(int、bool 等)或预先创建的类型。

如果这个问题太模糊,或者如果它已经被回答,请告诉我。

4

1 回答 1

0

语言功能是否有用,实际上取决于您使用它的方式和位置。对于从模板化抽象模板继承,这是我能想到的一个假设场景,它可能有用。

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 ...

请注意,这可能不是实现它的最佳方式,但我的观点是,您总能找到对所有事物的用途。:)

于 2012-12-04T17:56:56.263 回答