如何初始化以类为参数的

有两个类Point和Triangle 且Point不是Triangle的基类
其中Point类有两个私有数据整型x,y
Triangle类有三个私有数据

img


有参构造函数

img


参数包括3个顶点A,B,C,且默认值为Point(0,0)
测试样例在主函数写下Triangle t1;报错了,所以说构造函数
怎么写才能把A B C默认值初始化为Point(0,0)

img

#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;
}

真是无语,复制代码不行吗,非要贴图。
再写一个不带参数的构造函数。

Triangle()
{
    A.x  = 0;
    A.y = 0;
    B.x  = 0;
    B.y = 0;
    C.x  = 0;
    C.y = 0;  
}