Total Submissions: 250 Accepted: 170 Creator: szmtczg
Problem Description
计算图形面积
(1)定义类Shape(形状)、Circle(圆)、Rectangle(长方形)、Square(正方形)。
Shape是抽象基类,Circle、Rectangle、Square是它的派生类
(2)分别计算1个半径为1.5的圆、1个长为2.8,宽为4.5的长方形、1个边长为3.6的正方形的面积,并把它们显示在屏幕上。
完善以下程序
//你的代码写在这里
int main()
{
Shape* ps;
Circle c1(1.5);
ps = &c1;
cout << “圆的面积为:” << ps->Area() << endl;
Rectangle r1(2.8, 4.5);
ps = &r1;
cout << “长方形的面积为:” << ps->Area() << endl;
Square s1(3.6);
ps = &s1;
cout << “正方形的面积为:” << ps->Area() << endl;
return 0;
}
Sample Output
圆的面积为:7.065
长方形的面积为:12.6
正方形的面积为:12.96
#include <iostream>
using namespace std;
const double PI = 3.14;
class Shape
{
public:
virtual double Area() = 0;
};
class Circle : public Shape
{
public:
double r;
Circle(double a)
{
r = a;
}
double Area()
{
return PI * r * r;
}
};
class Rectangle :public Shape
{
public:
double x, y;
Rectangle(double a,double b)
{
x = a;
y = b;
}
double Area()
{
return x * y;
}
};
class Square :public Shape
{
public:
double x;
Square(double a)
{
x = a;
}
double Area()
{
return x * x;
}
};
int main()
{
Shape* ps;
Circle c1(1.5);
ps = &c1;
cout << "圆的面积为:" << ps->Area() << endl;
Rectangle r1(2.8, 4.5);
ps = &r1;
cout << "长方形的面积为:" << ps->Area() << endl;
Square s1(3.6);
ps = &s1;
cout << "正方形的面积为:" << ps->Area() << endl;
return 0;
}
该博客介绍了一个C++编程问题,涉及抽象基类Shape及其派生类Circle(圆)、Rectangle(长方形)和Square(正方形)。博主展示了如何计算不同图形的面积,并给出了一个示例程序,该程序计算了半径为1.5的圆、长为2.8,宽为4.5的长方形以及边长为3.6的正方形的面积。
5498

被折叠的 条评论
为什么被折叠?



