有两个类Point和Triangle 且Point不是Triangle的基类
其中Point类有两个私有数据整型x,y
Triangle类有三个私有数据
有参构造函数
参数包括3个顶点A,B,C,且默认值为Point(0,0)
测试样例在主函数写下Triangle t1;报错了,所以说构造函数
怎么写才能把A B C默认值初始化为Point(0,0)
#include <iostream>
#include <cmath>
using namespace std;
//点类Point
class Point
{
private:
double x;
double y;
public:
Point(double xv = 0, double yv = 0);
Point(const Point &p);
~Point();
virtual void show() const;
void setX(double xv);
void setY(double yv);
double getX() const;
double getY() const;
};
Point::Point(const double xv, const double yv)
{
x = xv;
y = yv;
cout << "Point Constructor run" << endl;
}
Point::Point(const Point &p)
{
x = p.x;
y = p.y;
cout << "Point CopyConstructor run" << endl;
}
Point::~Point()
{
cout << "Point Destructor run" << endl;
}
void Point::show() const
{
cout << "Point(X=" << x << ",Y=" << y << ")";
}
void Point::setX(double xv)
{
x = xv;
}
void Point::setY(double yv)
{
y = yv;
}
double Point::getX() const
{
return x;
}
double Point::getY() const
{
return y;
}
class Triangle
{
private:
Point A;
Point B;
Point C;
public:
Triangle(const Point &a, const Point &b, const Point &c);
~Triangle();
};
Triangle::Triangle(const Point &a, const Point &b, const Point &c)
{
A = a;
B = b;
C = c;
}
//主函数
int main(void)
{
double x, y;
Point p1, p2(1, 1), p3(2, 2);
Triangle t1;
return 0;
}