📄 d_9_1.cpp
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
const double PI=3.1416;
class shape{
public:
virtual double area()=0; // 纯虚函数
double s;
};
class Circle : public shape {
public:
Circle(double x)
:r(x){ }
double area()
{ s = PI*r*r;
cout << "圆的面积是:"<< s<<endl;
return s;
}
private:
double r;
};
class Triangle : public shape
{ public:
Triangle(double i,double j)
:high(i),width(j){ }
double area()
{ s = 0.5*high*width;
cout << "三角形的面积是:"<<s<<endl;
return s;
}
private:
double high,width;
};
class Rectangle:public shape {
public:
Rectangle(double i,double j)
:high(i),width(j){ }
double area()
{ s = high*width;
cout << "矩形的面积是:"<<s<<endl;
return s;
}
private:
double high,width;
};
class Trapezoid :public shape{
public:
Trapezoid(double t,double b,double h)
:T(t),B(b),H(h)
{ }
double area()
{ s = 0.5*(T+B)*H;
cout << "梯形的面积是:"<<s<<endl;
return s;
}
private:
double T,B,H;
};
void main()
{ double area = 0;
shape *ptr[4];
Triangle triangle(8,11);
Rectangle rectangle(8,11);
Circle circle(7);
Trapezoid trapezoid(5,10,6);
ptr[0] = ▵
ptr[1] = &rectangle;
ptr[2] = &circle;
ptr[3] = &trapezoid;
for (int i=0;i<4;++i)
area += ptr[i]->area();
cout<<"各图形面积之和是:"<< area<<endl;
cin.get(); //等待结束,以便调测程序,可以删除
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -