| 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&);