请高手帮忙看一下我的类定义是否正确?谢谢,!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/23 04:42:49
class CGraphicArea
{
// Attributes
private:
double fEdge[4]; //四条边长
int iType; //几何图形的类型0://三角形,1 ://矩形,2://梯形;…(略)
double fArea; //几何图形的面积
// Operation
private:
double Area();
double Area();
double Area();
double Area();

public:
void Register(int iType,double fEdge[4]); //注册,输入所有数据
double GetArea(); //调用各种重载函数获得几何图形面积
}

最不明白的就是那个double GetArea(),它是怎么工作的,怎样调用函数重载,函数命都不一样啊?

double Area(); 重复那么多,是不对的。

double GetArea(),这个可以定义成虚函数,这里不实现它,而由CGraphicArea 的派生类(三角形,矩形,梯形)等,去实现它

派生类都实现这个GetArea(),不同的派生类,使用不同的实现方法,这就是多态性

不清楚楼主说的“函数命都不一样”是指什么?

你这个double GetArea() 可以设计成虚函数,
virtual double GetArea()=0;

三角行就调用三角形的面积公式
其他就依次类推

如果是要弄成重载函数的话,需要设计成不同个数的参数,或者不同数据类型的参数才可以重载