64,637
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
//////////形状类/////////////////////
class CShape
{
public:
virtual double GetArea() = 0;
};
//////////////圆类///////////////////////
const double g_Pi = 3.1415926;
class CCircle : public CShape
{
public:
CCircle()
{
}
CCircle(double r):m_dRadius(r)
{
}
~CCircle()
{
}
void SetRadius(double r)
{
m_dRadius = r;
}
public:
virtual double GetArea()
{
return m_dRadius* m_dRadius * g_Pi;
}
protected:
double m_dRadius; //半径
};
//////////////长方形类//////////////////////
class CRect:public CShape
{
public:
CRect()
{
}
CRect(double a,double b)
{
}
~CRect()
{
}
void SetLength (double a,double b)
{
m_dLength1 = a;
m_dLength2 = b;
}
public:
virtual double GetArea()
{
return m_dLength1 * m_dLength2;
}
protected:
double m_dLength1; //边长
double m_dLength2;
};
/////////主函数////////////////////////
void main()
{
CCircle* pCircle = new CCircle(5);
pCircle->GetArea();
delete pCircle;
CRect box(10,5);
box.GetArea();
}