geom.h.old

来自「design_patterns code设计模式书中的源码 对学习设计模式的人」· OLD 代码 · 共 65 行

OLD
65
字号
#include "defs.H"typedef float Coord;#include "stdlib.h"class ostream;class istream;class Point {public:    static const Point& Zero;	    Point(Coord x = 0.0, Coord y = 0.0);    Coord X() const;    Coord Y() const;    void X(Coord x);    void Y(Coord y);        friend Point operator+(const Point &p1, const Point &p2);    friend Point operator-(const Point &p1, const Point &p2);    friend Point operator*(const Point &p1, const Point &p2);    friend Point operator/(const Point &p1, const Point &p2);        Point operator-();    Point operator+=(const Point &p);    Point operator-=(const Point &p);    Point operator*=(const Point &p);    Point operator/=(const Point &p);        friend bool operator==(const Point &p1, const Point &p2);    friend bool operator!=(const Point &p1, const Point &p2);    friend ostream& operator<<(ostream&, const Point&);    friend istream& operator>>(istream&, Point&);public:    Coord _x;    Coord _y;};class Rect {public:    static const Rect& Zero;	    Rect(Coord x, Coord y, Coord w, Coord h);    Rect(const Point &origin, const Point &extent);                 Coord Width() const; Coord Height() const;     Coord Left() const; Coord Top() const;    void Width(Coord); void Height(Coord);     void Left(Coord); void Top(Coord);        Point Origin() const; Point Extent() const;    void Origin(const Point&); void Extent(const Point&);        Rect &Moveby(const Point &p);    bool IsEmpty() const;    bool ContainsPoint(const Point &p) const;public:    Point _origin;    Point _extent;};// some useful functionsCoord min(Coord, Coord);Coord max(Coord, Coord);Coord abs(Coord);int round(Coord);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?