#include <iostream>
using namespace std;
class Shape
{
protected:
int w, h;
public:
Shape(int w=0, int h=0):w(w), h(h){}
};
class Rectangle:public Shape
{
public:
int h,w;
double area;
Rectangle(int n,int m){
h=n;
w=m;
}
double GetArea(){
area=h*w;
return area;
}
};
class Triangle:public Shape
{
public:
int h,w;
double area;
Triangle(int n,int m){
h=n;
w=m;
}
double GetArea(){
area=(h*w)/2;
return area;
}
};
int main()
{
int w, h;
cin >> w >> h;
Rectangle a(w , h);
cout << a.area() << endl;
cin >> w >> h;
Triangle b(w, h);
cout << b.area() << endl;
return 0;
}
main函数中出现编译错误,请教大神,如何更改?
可以调用函数GetArea()
#include <iostream>
using namespace std;
class Shape
{
protected:
int w, h;
public:
Shape(int w=0, int h=0):w(w), h(h){}
};
class Rectangle:public Shape
{
public:
int h,w;
double area;
Rectangle(int n,int m){
h=n;
w=m;
}
double GetArea(){
area=h*w;
return area;
}
};
class Triangle:public Shape
{
public:
int h,w;
double area;
Triangle(int n,int m){
h=n;
w=m;
}
double GetArea(){
area=(h*w)/2;
return area;
}
};
int main()
{
int w, h;
cout << "Please enter width and length of a rectangle: ";
cin >> w >> h;
Rectangle a(w , h);
cout << "The area of the rectagle is: ";
cout << a.GetArea() << endl;
cout << "Please enter the side and height of a triangle: ";
cin >> w >> h;
Triangle b(w, h);
cout << "The area of the triangle is: ";
cout << b.GetArea()<< endl;
return 0;
}
// Output:
lease enter width and length of a rectangle: 4 5
The area of the rectagle is: 20
Please enter the side and height of a triangle: 4 8
The area of the triangle is: 16
area是类成员公开变量,调用不需要加括号,直接cout << a.area << endl;即可
如果解决你的问题,麻烦点个采纳吧!
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632