[YTU]_2632 ( B2 友元光顾)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2632 ( B2 友元光顾)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
定義一個平面上的點類Point,其中設置成員函數distance1求當前對象與另一點的距離,并設置友員函數distance2也完成相同的工作。 請在劃橫線的部分填上需要的成份,使程序能正確運行,得到要求的輸出結果。 請提交begin到end部分的代碼。 //************* begin ***************** #include<iostream> #include<cmath> #include <iomanip> using namespace std; class CPoint { private: double x; ?// 橫坐標 double y; ?// 縱坐標 public: CPoint(double xx=0,double yy=0):x(xx),y(yy) {} double distance1(CPoint &); ____(1)_____ double distance2(CPoint &, CPoint &); }; double CPoint::distance1(CPoint &p) { double dx,dy; dx=_____(2)_____; dy=_____(3)_____; return sqrt(dx*dx+dy*dy); } double distance2(CPoint &p1,CPoint &p2) { double dx,dy; dx=_____(4)_____; dy=_____(5)_____; return sqrt(dx*dx+dy*dy); } //************* begin ***************** int main() { double px1, py1, px2, py2; cin>>px1>>py1>>px2>>py2; CPoint p1(px1, py1), p2(px2, py2); cout <<setiosflags(ios::fixed)<<setprecision(2); cout<<"1. "<<p1.distance1(p2)<<endl; cout<<"2. "<<distance2(p1,p2)<<endl; return 0; }Input
四個以空格隔開的小數,表示平面中兩點的橫縱坐標Output
兩次輸出兩點間的距離,分別用成員函數和友元函數完成計算Sample Input
2.5 4.3 7.8 6.7Sample Output
1. 5.82 2. 5.82#include <iostream> #include <iomanip> #include <math.h> using namespace std; class Point; class CPoint { private:double x;double y; public:CPoint(double xx=0,double yy=0):x(xx),y(yy){}double distance1(CPoint &);friend double distance2(CPoint &,CPoint&); }; double CPoint::distance1(CPoint &p) {double dx,dy;dx=p.x-x;dy=p.y-y;return sqrt(dx*dx+dy*dy); } double distance2(CPoint &p1,CPoint&p2) {double dx,dy;dx=p2.x-p1.x;dy=p2.y-p1.y;return sqrt(dx*dx+dy*dy); } int main() {double px1, py1, px2, py2;cin>>px1>>py1>>px2>>py2;CPoint p1(px1, py1), p2(px2, py2);cout <<setiosflags(ios::fixed)<<setprecision(2);cout<<"1. "<<p1.distance1(p2)<<endl;cout<<"2. "<<distance2(p1,p2)<<endl;return 0; }總結
以上是生活随笔為你收集整理的[YTU]_2632 ( B2 友元光顾)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [YTU]_2642 (填空题:类模板-
- 下一篇: [YTU]_2631( B1 能存各种类