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

📄 11.14.cpp

📁 这是C++的一部分练习程序!对初学者有一定的帮助作用。
💻 CPP
字号:
#include <iostream.h>
const double PI=3.1415;
class Shape
{
  public:
	virtual double Area()=0;
};
class Triangle:public Shape
{
  public:
	Triangle(double h,double w)
	{  H=h;W=w;  }
	double Area()
	{  return 0.5*H*W;  }
  private:
	double H,W;
};
class Rectangle:public Shape
{
  public:
	Rectangle(double h,double w)
	{  H=h;W=w;  }
	double Area()
	{  return H*W;  }
  private:
	double H,W;
};
class Circle:public Shape
{
  public:
	Circle(double r)
	{  R=r;  }
	double Area()
	{  return PI*R*R;  }
  private:
	double R;
};
class Trapezoid:public Shape
{
  public:
	Trapezoid(double t,double b,double h)
	{  T=t;B=b;H=h;  }
	double Area()
	{
		return 0.5*(T+B)*H;  }
  private:
	double T,B,H;
};
class Square:public Shape
{
  public:
	Square(double s)
	{  S=s;  }
	double Area()
	{  return S*S;  }
  private:
	double S;
};
class Application
{
  public:
	double Compute(Shape *[],int);
};
double Application::Compute(Shape*s[],int n)
{
	double sum=0;
	for(int i=0;i<n;i++)
	  sum+=s[i]->Area();
	return sum;
}
class MyProgram:public Application
{
  public:
	MyProgram();
	~MyProgram();
	double Run();
  private:
	Shape **s;
};
MyProgram::MyProgram()
{
	s=new Shape *[5];
	s[0]=new Triangle(3.0,5.0);
	s[1]=new Rectangle(5.0,7.0);
	s[2]=new Circle(8.5);
	s[3]=new Trapezoid(12.0,5.0,6.0);
	s[4]=new Square(4.8);
}
MyProgram::~MyProgram()
{
	for(int i=0;i<5;i++)
		delete s[i];
	delete []s;
}
double MyProgram::Run()
{
	double sum=Compute(s,5);
	return sum;
}
void main()
{
	MyProgram M;
	cout<<"Area's Sum= "<<M.Run()<<endl;
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -