#include<iostream>
#include<cmath>
using namespace std;
class Point
{
public:
Point(int xx = 0, int yy = 0){ _x = xx; _y = yy; };
Point(Point &p);
~Point();
int GetX(){ return _x; }
int GetY(){ return _y; }
private:
int _x;
int _y;
};
Point::Point(Point &p){
_x = p._x;
_y = p._y;
cout << "调用了拷贝构造函数!" << endl;
}
class Line
{
public:
Line(Point p1,Point p2);
Line(Line &L);
~Line();
double GetLength(){ return _length; }
private:
Point _p1, _p2;
double _length;
};
Line::Line(Point p1, Point p2) :_p1(p1), _p2(p2){
cout << "Line 构造函数被调用" << endl;
double x = double(p1.GetX() - p2.GetX());
double y = double(p1.GetY() - p2.GetY());
_length = sqrt(x*x + y*y);
}
Line::Line(Line &L) :_p1(L._p1), _p2(L._p2){
cout << "Line拷贝构造函数被调用" << endl;
_length = L._length;
}
int main()
{
Point temp1(1, 1), temp2(4, 5);//建立Point类的对象
Line line(temp1, temp2);
Line line2(line);
cout << "The length of the line is:";
cout << line.GetLength() << endl;
cout << "The length of the line2 is:";
cout << line2.GetLength() << endl;
return 0;
}
C++ Line,Point类
最新推荐文章于 2024-07-08 09:17:34 发布