#include class Point { double m_x; double m_y; double m_z; public: Point() : m_x(0), m_y(0), m_z(0) { /** Default constructor */ } Point(const double a, const double b, const double c) : m_x(a), m_y(b), m_z(c) { /** ... */ } double x() const noexcept { return m_x; } double y() const noexcept { return m_y; } double z() const noexcept { return m_z; } friend std::ostream& operator<<(std::ostream& outputStream, const Point& p) { return outputStream << "(" << p.x() << "," << p.y() << "," << p.z() << ")"; } }; int main() { Point origin { 0, 0, 0 }; std::cout << "Origin: " << origin << '\n'; }