使用一个类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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥15 键盘指令混乱情况下的启动盘系统重装