2024年4月28日发(作者:)
1、点类 Point
class Point
{
protected:
int x,y;
public:
Point() {};
Point(int xx, int yy) { x=xx; y=yy; }
Point(Point &p) { x=p.x; y=p.y; }
int GetX() const { return x; }
int GetY() const { return y; }
void SetXY(int xx, int yy) { x=xx; y=yy; }
friend ostream &operator<<(ostream &, Point &);
};
ostream &operator<<(ostream &os, Point &p)
{ cout<<"X: "< } 2、圆类 Circle(包含Point类的写法) class Circle { private: double radius; //半径 Point center; //圆心 public: Circle() {} Circle(int x, int y, double r): center(x,y) { SetRadius(r); } Circle(Point p, double r): center(p) { SetRadius(r); } double GetRadius() const { return radius; } void SetRadius(double r) { radius = (r>=0 ? r : 0); } void SetValue(int x, int y, double r) { (x,y); SetRadius(r); } double Area(); friend ostream &operator<<(ostream &, Circle &); }; const double PI=3.14159; inline double Circle::Area() { return PI * radius * radius; } ostream &operator<<(ostream &os, Circle &p) { os< } 3、圆类 Circle(继承Point类的写法) class Circle: public Point { private: double radius; //半径 public: Circle() {} Circle(int x, int y, double r): Point(x,y) { SetRadius(r); } Circle(Point p, double r): Point(p) { SetRadius(r); } double GetRadius() const { return radius; } void SetRadius(double r) { radius = (r>=0 ? r : 0); } void SetValue(int x, int y, double r) { SetXY(x,y); SetRadius(r); } double Area(); friend ostream &operator<<(ostream &, Circle &); }; const double PI=3.14159; inline double Circle::Area() { return PI * radius * radius; } ostream &operator<<(ostream &os, Circle &c) { os< } 4、线段类 Line class Line { private: Point p1,p2; public:
发布评论