#ifndef SIMPLEPOINT_H_ #define SIMPLEPOINT_H_ class SimplePoint { public: // Note that no constructors are declared/defined, so C++ // synthesizes a default constructor for us, as well as a copy // constructor. The default constructor initializes all member // variables with class types using their default constructors and // sometimes, but not always, initializes member variables with // built-in types to 0 (i.e., x_, y_). The copy constructor does a // shallow copy of all member variables. int get_x() const { return x_; } // inline member function int get_y() const { return y_; } // inline member function double Distance(const SimplePoint &p) const; void SetLocation(int x, int y); // Note that the "=" (assignment) operator is not overloaded, // C++ synthesizes a default operator implementation for us // that does a shallow copy of all member variables (x_ and y_). private: int x_; // data member int y_; // data member }; // class Point #endif // SIMPLEPOINT_H_