【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'
生活随笔
收集整理的這篇文章主要介紹了
【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、錯誤代碼
#include <iostream> using namespace std;// 基類 class Shape { public:void setWidth(int w){width = w;}void setHeight(int h){height = h;} protected:int width;int height; };// 派生類 class Rectangle: Shape { public:int getArea(){ return (width * height); } };int main(void) {Rectangle Rect;Rect.setWidth(5);Rect.setHeight(7);cout << "Total area: " << Rect.getArea() << endl;return 0; }提示錯誤如下:
2、由于派生類繼承基類時“class Rectangle: Shape”,缺少public,導致的問題,修改如下:
#include <iostream> using namespace std;// 基類 class Shape { public:void setWidth(int w){width = w;}void setHeight(int h){height = h;} protected:int width;int height; };// 派生類 class Rectangle: public Shape { public:int getArea(){ return (width * height); } };int main(void) {Rectangle Rect;Rect.setWidth(5);Rect.setHeight(7);cout << "Total area: " << Rect.getArea() << endl;return 0; }正確輸出如下:
總結
以上是生活随笔為你收集整理的【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C++】cannot access p
- 下一篇: 【C++】error C2512: 'A