扩展嵌套类方法
Extending a nested class method
我在嵌套类中遇到了一个虚拟方法。
##classone.h
class ClassOne: {
public:
class InnerClass{
public:
virtual void method1();
...
##classone.cpp
void ClassOne::InnerClass::method1()
{
...
}
我正在对ClassOne
进行子类化,并且需要扩展method1()
。在这种情况下,需要对嵌套类做什么?
我尝试了什么
##subclassone.h
class SubClassOne: public ClassOne{
public:
virtual void method1();
##subclassone.cpp
void SubClassOne::InnerClass::method1()
{
##New implementation
}
但这给出了multiple definition of ClassOne::InnerClass::method1()
method1
属于ClassOne::InnerClass
,而不是ClassOne
。当您从ClassOne
继承时,基类中的嵌套类也会成为派生类的成员,您可以通过使用ClassOne::
或SubClassOne::
限定来访问它。因此产生了关于CCD_ 10的双重定义错误。
您还需要对InnerClass
进行子类。如果您仍然希望从ClassOne
派生,它看起来像这样:
class ClassOne {
public:
class InnerClass {
public:
virtual void method1();
};
};
void ClassOne::InnerClass::method1()
{
}
class SubClassOne : public ClassOne {
class DerivedInnerClass : InnerClass { //
virtual void method1();
};
};
void SubClassOne::DerivedInnerClass::method1()
{
}
相关文章:
- 如何从另一个嵌套类中调用某个封闭类的嵌套类的函数指针成员的值?
- 模板化类的嵌套类中的友元运算符
- 另一个类中嵌套模板的外部实例化
- CRTP:为什么获得嵌套类型和派生类的嵌套方法有区别
- C++嵌套类从嵌套类继承,请键入 issue
- 是最终类的嵌套类,自动为最终类
- 使用另一个模板类的嵌套名称说明符专用化模板类
- 模板类中嵌套类的C 静态成员变量
- 如何在C++中的另一个模板函数中使用属于模板化类的嵌套类型?
- 在C++中使用模板类的嵌套类作为模板模板参数
- 带有类的嵌套结构.范围错误
- 继承类中嵌套类的可见性
- C++中的模板类的嵌套类的构造函数
- C 带有嵌套类的抽象类.派生的类和嵌套类
- 模板类的嵌套类,模板类的静态成员变量
- 定义类(和嵌套类)成员函数的更好/更整洁/更可读的方法
- 如何正确声明模板类的嵌套类的友元
- 如何正确使用模板类的嵌套类
- 将错误与C++单独的头文件中定义的模板类和嵌套类链接
- 将模板类的嵌套结构作为泛型方法的参数