在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?
你可以getValues通过使用来调用CRect,因为getValues是继承的.术语"方法"不是由C++定义的.如果引用非静态成员函数 - 它们是成员并且继承到派生类.
您的错误getValues不是继承,而是您尝试访问不可访问的成员width和height.
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |