>我有一个类点,如下所示:
class Point {
private:
int x,y;
public:
Point(int x, int y){
setX(x);
setY(y);
}
Point(Point ©){
x = copy.getX();
y = copy.getY();
}
int getX(){
return x;
}
int getY(){
return y;
}
void setX(int setx){
x = setx;
}
void setY(int sety){
y = sety;
}
void print(){
cout << "(" << getX() << "," << getY() << ")" << endl;
}
};
我正在尝试创建一个名为GeometricShape的抽象类,该类能够利用其构造函数中的一个点,然后在其成员中调用该点。
我尝试声明一个点,然后利用复制构造函数来构造几何形状。但是,如果没有"调用'Point::P oint(('几何形状(点坐标(的匹配函数",我似乎无法让它工作。
我还尝试在构造函数中声明该点:
Point ShapePoint = coord;
但是我无法访问打印成员中的形状点。
这是我目前所处的位置:
class GeometricShape{
Point ShapePoint;
public:
GeometricShape(Point coord){
ShapePoint = Point(coord);
}
virtual float getArea(){
return 0;
}
virtual float getPerimeter(){
return 0;
}
virtual void print(){
ShapePoint.print();
}
};
使用成员初始值设定项
GeometricShape(Point coord)
: ShapePoint(coord)
{
}
我还建议将这一点作为常量参考const Point& coord
以避免内存中不必要的副本。