c++ - 模板化嵌套 C++ 类可以继承其封闭类吗?

标签 c++ inheritance nested-class

这个问题与 Can a nested C++ class inherit its enclosing class? 密切相关

我的情况很复杂,模板似乎意味着前面的 answer不再有效。

class Animal
{
    template <typename T>
    class Bear : public Animal
    {
        // …
    };

    template <typename T>
    class Giraffe : public Animal
    {
        // …
    };
};

// example usage

struct MyAnimal : Animal::Bear<Animal> { };

MyAnimal a;

这样的东西可以工作吗?

最佳答案

另一个答案有效,您只需要知道它的语法:

class Animal
{
    template <typename T>
    class Bear;

    template <typename T>
    class Giraffe;
};

template <typename T>
class Animal::Bear : public Animal
{
    ....
};

template <typename T>
class Animal::Giraffe : public Animal
{
    ....
};

关于c++ - 模板化嵌套 C++ 类可以继承其封闭类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966461/

相关文章:

c++ - ODBC 连接未打开

c++ - 最大长度的字符串类型

c++类为什么需要main?

java - 如何在 Java 中访问内部类(在断言中)

c++ - 对嵌套类使用类型别名

c++ - 如何在 Qt 中高效显示 OpenCV 视频?

扩展实例的Java架构问题(需要模式推荐)

javascript - 继承、原型(prototype)函数未定义

python - 访问派生类中已更改的基类实例属性

java - 即使我在另一个线程中使用它,GC 是否可以在这里收集我的变量?