如何从C++中的父类继承方法

Pat*_*Pat 0 c++ polymorphism

在C++中继承类时,我理解成员是继承的.但是如何继承这些方法呢?

例如,在下面的代码中,我希望方法"getValues"不仅可以通过CPoly访问,也可以通过任何继承它的类访问.所以可以直接在CRect上调用"getValues".

class CPoly {
  private:
    int width, height;
  public:
    void getValues (int* a, int* b)
      { *a=width; *b=height;}
  };

class CRect: public CPoly {
  public:
    int area ()
      { return (width * height); }
  };
Run Code Online (Sandbox Code Playgroud)

换句话说,有没有办法继承简单通用方法的方法,如getter和setter?

Joh*_*itb 5

可以getValues通过使用调用CRect,因为getValues是继承的.术语"方法"不是由C++定义的.如果引用非静态成员函数 - 它们是成员并且继承到派生类.

您的错误getValues不是继承,而是您尝试访问不可访问的成员widthheight.