C++使用子类从模板继承
C++ inherit from a template using subclass
我想创建一个父类Foo
,它继承自一个带有参数的模板——它自己的嵌套类Sub
,但不从Foo
中获得Sub
,你有解决方案吗?
class Foo : public Bar<Sub>
{
class Sub
{
}
}
感谢
解决方案:没有"通用"的方法可以做到这一点,所以最好的解决方案是将嵌套类带出。
不,这不可能直接实现,因为当你想使用Sub
时,它不在(也不可能)作用域中。如果你不能简单地将类移出(你需要它作为一个成员访问),你可以通过将嵌套类移出一个疯狂的唯一名称来解决它,在类中为它提供一个typedef
,如果必要,还可以使它成为friend
:
class Foo_Sub_ce60eba1_67fa_48a3_b5f5_fce89d717839
{
// Contents...
};
class Foo : Bar<Foo_Sub_ce60eba1_67fa_48a3_b5f5_fce89d717839>
{
typedef Foo_Sub_ce60eba1_67fa_48a3_b5f5_fce89d717839 Sub;
friend Sub;
};
相关文章:
- 继承期间显示未知行为的子类
- C++ 继承:将子类传递给需要基类的函数并获取子类行为
- 为什么我的子类不继承父类的字符串?
- 初始化依赖于子类的继承类的常量类成员
- 当子类需要在 c++ 中相互包含时,继承有缺陷
- 无法将数据从父类继承到C++中的子类
- C++子类继承
- C++继承,如何在基类的方法中调用子类的方法?
- 如果不手动完成,子类是否继承父类的析构函数?
- 模板化类继承的子类定义中的错误
- 模板类如何在 GCC 和 Clang 中继承子类
- C 模板继承.子类应用固定类型替换基类中的类型
- 具有菱形继承结构的子类的大小似乎很奇怪
- C++继承子类可修改变量
- 未调用/继承子类中的移动赋值运算符
- 如何从继承子类访问基类中的私有成员(c++)
- 如果某些实例不使用基类的属性,我应该继承子类吗?
- 从其他子类继承子类
- c++继承:子类实例同时使用子和父构造函数
- 继承子类时的默认保护级别是什么