【发布时间】:2013-03-26 22:47:20
【问题描述】:
我正在设计一个程序,它需要三个给定的点并计算第四个点来创建一个平行四边形。到目前为止我所拥有的是:
struct Parallelogram : public Polygon {
Parallelogram(Point tl, Point tr, Point bl){
Point br;
int num = tr.y-tl.y;
int denom = tr.x-tl.x;
br.x=denom+bl.x;
br.y=num+bl.y;
}
};
Parallelogram::Parallelogram(Point tl, Point tr, Point bl)
{
add(tl);
add(tr);
add(bl);
add(br);
};
编译时出现如下错误:
hw6pr2.cpp:15:1: error: redefinition of âParallelogram::Parallelogram(Point, Point, Point)â
hw6pr2.cpp:6:2: error: âParallelogram::Parallelogram(Point, Point, Point)â previously defined here
我的问题是:如果我从多边形类派生的方式正确吗?如果是这样,为什么会出现此错误?
【问题讨论】:
-
您收到错误是因为您正在重新定义
Parallelogram::Parallelogram(Point, Point, Point),就像编译器告诉您的那样。删除其中一个定义。 -
编译器的信息似乎很清楚。您提供了同一个构造函数的两个实现。
标签: c++ graphics redefinition