⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d_9_1.cpp

📁 C++应用教程原码,里面包含该书中有十三章内容的代码,详细具体
💻 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] = &triangle;
	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 + -