conversions/between-user-defined-types/point1.h - Class Tripple with Tripple(Point) constructor and a Point conversion operator. | Lecture 4 - slide 24 : 40 Program 5 |
// New example: Converting between Point an Tripple... class Point { private: double x, y; public: Point(); // (0,7) Point(double d); // constructor from double: (d, 20) Point(double d, double e); // (d, e) Point(Point& p); // (p.x+1, p.y+2) operator double() const; // conversion operator to double: x+y double getx () const; double gety () const; }; class Tripple { private: int a, b, c; public: Tripple(); // (0, 0, 0) Tripple(int x, int y, int z); // (x, y, z) Tripple(Point p); // (p.x, p.y, 0) operator Point() const; // conversion operator to Point: (a, b) friend std::ostream& operator<<(std::ostream&, const Tripple&); }; std::ostream& operator<<(std::ostream&, const Point&); std::ostream& operator<<(std::ostream&, const Tripple&);