如何在C++中自定义嵌套类的方法

pep*_*ero 4 c++ inheritance nested-class inner-classes

我有一个嵌套类Inner_vector的A类,

class A: 
{
public: 
  class Inner_vector:public Vector
    {
      bool append(const class Element& element);
    };
};
bool A::Inner_vector::append(const class Element& element)
{
   add(element);
}
Run Code Online (Sandbox Code Playgroud)

现在我想从A派生一个子类,并自定义内部类"Inner_vector"的"append"和"delete"方法(主要是添加一个新操作),以便调用自定义操作.我怎么能这样做?我是否还应该从A :: Inner_vector中的Child_A中派生一个新的嵌套类作为以下代码

class Child_A: public A
{
public: 
  class Inner_Child_vector : public A::Inner_vector
    {
      bool append(const class Element& element);
    };
};
bool Child_A::Inner_Child_vector::append(const class Element& element)
{
   A::Inner_vector::append();
   my_new_operation();
}
Run Code Online (Sandbox Code Playgroud)

或者我不需要从A :: Inner_vector派生并直接重写它?

我非常感谢任何帮助和评论.

Jan*_*dec 6

在C++中,除了作用域之外,内部类与包含它们的类无关.因此,您必须在派生类中派生基类的内部类.