C++帮我查错

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:05:52
#include<stdio.h>
#include<math.h>
class Shape
{
public:
double GetArea(double m_r)
{

return 3.14 * m_r * m_r;

} double GetArea(double m_a,double m_b)
{
return m_a * m_b;
}

};
class Circle : public Shape
{
private:
double m_r;

public:
Circle(double r) : m_r(r) {}

double GetArea()
{

return 3.14 * m_r * m_r;

}

};

//矩形
class Rectangle : public Shape
{
private:
double m_a, m_b;

public:

Rectangle(double a, double b) : m_a(a), m_b(b) {}

double GetArea()
{
return m_a * m_b;
}

};

int main()
{

Shape* pCircle = new Circle(2);
printf("The a

#include<stdio.h>
#include<math.h>
class Shape
{
public:
virtual double GetArea()=0;//形状类不知道计算面积公式,只有用不同的形状初始化后才有,所以这个地方设计为纯虚函数

};
class Circle : public Shape
{
private:
double m_r;

public:
Circle(double r) : m_r(r) {}

double GetArea()
{

return 3.14 * m_r * m_r;

}

};

//矩形
class Rectangle : public Shape
{
private:
double m_a, m_b;

public:

Rectangle(double a, double b) : m_a(a), m_b(b) {}

double GetArea()
{
return m_a * m_b;
}

};

int main()
{

Shape* pCircle = new Circle(2);
printf("The area of Circle is %lf\n", pCircle->GetArea());

Shape* pRectangle = new Rectangle(3, 4);
printf("The area of Rectangle is %lf\n", pRectangle->GetArea());

dele