使用一个类Line来描述线段,使用Point类的对象来表示端点,使Line类包括Point类的两个对象p1和p2,作为其数据成员。Line类具有计算线段长度的功能,在构造函数中实现
c++:使用一个类Line来描述线段,使用Point类的对象来表示端点,使Line类包括Point类的两个对象p1和p2,作为其数据成员。Line类具有计算线段长度的功能,在构造函数中实现
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-深度学习进阶 2022-04-10 12:02关注
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 做个有关计算的小程序
- ¥15 MPI读取tif文件无法正常给各进程分配路径
- ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
- ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
- ¥15 setInterval 页面闪烁,怎么解决
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化