吕萌123 2022-04-10 11:54 采纳率: 100%
浏览 259
已结题

c++:使用一个类Line来描述线段,使用Point类的对象来表示端点,使Line类包括Point类的两个对象p1和p2,作为其数据成员。Line类具有计算线段长度的功能,在构造函数中实现

使用一个类Line来描述线段,使用Point类的对象来表示端点,使Line类包括Point类的两个对象p1和p2,作为其数据成员。Line类具有计算线段长度的功能,在构造函数中实现

  • 写回答

2条回答 默认 最新

  • 关注
    #include<iostream>
    #include<cmath>
    using namespace std;
    
    class Point {
    public:
        Point(int xx = 0, int yy = 0) {//构造函数
            x = xx;
            y = yy;
        }
        Point(Point& p);//复制构造函数
        int getX() { return x; }
        int getY() { return y; }
    private:
        int x, y;
    };
    Point::Point(Point& p) {//复制构造函数的实现
        x = p.x;
        y = p.y;
        cout << "Calling the copy constructor of Point" << endl;
    }
    //类的组合
    class Line {
    public:
        Line(Point xp1, Point xp2);
        Line(Line& l);
        double getLen() { return len; }
    private:
        Point p1, p2;//Point类的对象p1,p2
        double len;
    };
    //组合类的构造函数
    Line::Line(Point xp1, Point xp2) :p1(xp1), p2(xp2) {
        cout << "Calling constructor of Line" << endl;
        double x = static_cast<double>(p1.getX() - p2.getX());
        double y = static_cast<double>(p1.getY() - p2.getY());
        len = sqrt(x * x + y * y);
    }
    //组合类的复制构造函数
    Line::Line(Line& l) :p1(l.p1), p2(l.p2) {
        cout << "Calling the copy constructor of Line" << endl;
        len = l.len;
    }
    //主函数
    int main()
    {
        Point myp1(1, 1), myp2(4, 5);//建立Point类的对象
        Line line(myp1, myp2);//建立Line类的对象
        Line line2(line);//利用复制构造函数建立一个新对象
        cout << "The length of the line is:";
        cout << line.getLen() << endl;
        cout << "The length of the line2 is:";
        cout << line2.getLen() << endl;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月16日
  • 已采纳回答 4月10日
  • 创建了问题 4月10日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装