Problem E: 平面上的点——Point类 (II)
Description
在數(shù)學(xué)上,平面直角坐標(biāo)系上的點用X軸和Y軸上的兩個坐標(biāo)值唯一確定。現(xiàn)在我們封裝一個“Point類”來實現(xiàn)平面上的點的操作。
根據(jù)“append.cc”,完成Point類的構(gòu)造方法和show()方法,輸出各Point對象的構(gòu)造和析構(gòu)次序。
接口描述:
Point::show()方法:按輸出格式輸出Point對象。
Input
輸入多行,每行為一組坐標(biāo)“x,y”,表示點的x坐標(biāo)和y坐標(biāo),x和y的值都在double數(shù)據(jù)范圍內(nèi)。
Output
輸出每個Point對象的構(gòu)造和析構(gòu)行為。對每個Point對象,調(diào)用show()方法輸出其值:X坐標(biāo)在前,Y坐標(biāo)在后,Y坐標(biāo)前面多輸出一個空格。每個坐標(biāo)的輸出精度為最長16位。輸出格式見sample。
C語言的輸入輸出被禁用。
Sample Input
1,2 3,3 2,1Sample Output
Point : (0, 0) is created. Point : (1, 2) is created. Point : (1, 2) Point : (1, 2) is erased. Point : (3, 3) is created. Point : (3, 3) Point : (3, 3) is erased. Point : (2, 1) is created. Point : (2, 1) Point : (2, 1) is erased. Point : (0, 0) is copied. Point : (1, 1) is created. Point : (0, 0) Point : (1, 1) Point : (0, 0) Point : (1, 1) is erased. Point : (0, 0) is erased. Point : (0, 0) is erased.HINT
思考構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、析構(gòu)函數(shù)的調(diào)用時機。
Append Code
#include<iostream> #include<iomanip> using namespace std; class Point { private: ????double x,y; public: ????Point(){x=0,y=0;cout<<setprecision(16)<<"Point : (0, 0) is created.\n";} ????Point(double a,double b){x=a,y=b;cout<<setprecision(16)<<"Point : ("<<x<<", "<<y<<") is created.\n";} ????void show(){cout<<setprecision(16)<<"Point : ("<<x<<", "<<y<<")\n";} ????~Point(){cout<<setprecision(16)<<"Point : ("<<x<<", "<<y<<") is erased.\n";} ????Point(Point &a){x=0,y=0;cout<<setprecision(16)<<"Point : (0, 0) is copied.\n";} ????Point(int a){x=a,y=a;cout<<setprecision(16)<<"Point : ("<<x<<", "<<y<<") is created.\n";} }; int main() { ????char c; ????double a, b; ????Point q; ????while(std::cin>>a>>c>>b) ????{ ????????Point p(a, b); ????????p.show(); ????} ????Point q1(q), q2(1); ????q1.show(); ????q2.show(); ????q.show(); }轉(zhuǎn)載于:https://www.cnblogs.com/TogetherLaugh/p/6544632.html
總結(jié)
以上是生活随笔為你收集整理的Problem E: 平面上的点——Point类 (II)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩转Android之加速度传感器的使用,
- 下一篇: webpack基础入门