使用繼承時,我從一個教程,說關於C甲混亂++繼承
相反地讀,如果最限制訪問級別被指定(私有),所有的基類成員被繼承爲不公開,因而不能從派生類訪問。
所以我測試下面的代碼,但派生類仍然可以訪問基類的成員。
爲什麼?
#include <iostream>
using namespace std;
class Polygon {
protected:
int width, height;
public:
Polygon():width(10),height(10){}
};
class Rectangle: private Polygon {
public:
int area()
{ return height; }
};
int main() {
Rectangle rect;
cout << rect.area() << '\n';
return 0;
}
輸出是10
我明白了。所以這個教程有點誤導我。 – Jianchen
@Janchen是的,你所引用的段落不是很清楚,它很容易被誤解。 – juanchopanza
所以我修改它的示例以查看發生了什麼。無論如何非常感謝 – Jianchen