Enclave_ 2022-04-01 09:09 采纳率: 88.5%
浏览 31
已结题

如何初始化以类为参数的

有两个类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;
}
  • 写回答

1条回答 默认 最新

  • Frank_Liuxing 2022-04-01 09:25
    关注

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

    Triangle()
    {
        A.x  = 0;
        A.y = 0;
        B.x  = 0;
        B.y = 0;
        C.x  = 0;
        C.y = 0;  
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 修改了问题 4月1日
  • 修改了问题 4月1日
  • 展开全部

悬赏问题

  • ¥15 ros的rviz仿真机器人
  • ¥15 关于#linux#的问题(输入输出错误):出现这个界面接着我重新装系统,又让修电脑的师傅帮我扫描硬盘(没有问题)用着用着又卡死(相关搜索:固态硬盘)
  • ¥15 cv::resize不同线程时间不同
  • ¥15 web课程,怎么做啊😭没好好听课 根本不知道怎么下手
  • ¥15 做一个关于单片机的比较难的代码,然后搞一个PPT进行解释
  • ¥15 python提取.csv文件中的链接会经常出现爬取失败
  • ¥15 数据结构中的数组地址问题
  • ¥15 maya的mel里,怎样先选择模型A,然后利用mel脚本自动选择有相同名字的模型B呢。
  • ¥15 Python题,根本不会啊
  • ¥15 会会信号与系统和python的来