當(dāng)前位置:
首頁 >
【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'
發(fā)布時(shí)間:2025/3/21
43
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、錯(cuò)誤代碼
#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; }提示錯(cuò)誤如下:
2、由于派生類繼承基類時(shí)“class Rectangle: Shape”,缺少public,導(dǎo)致的問題,修改如下:
#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; }正確輸出如下:
總結(jié)
以上是生活随笔為你收集整理的【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C++】cannot access p
- 下一篇: 【C++】error C2512: 'A