#include class Punkt { int _x, _y; public: Punkt(int x, int y) : _x(x), _y(y) { } virtual ~Punkt() {} protected: virtual void print(std::ostream& os) const { os << '(' << _x << ',' << _y << ')'; } private: friend std::ostream& operator<<(std::ostream& os, Punkt const& p); }; std::ostream& operator<<(std::ostream& os, Punkt const& p) { p.print(os); return os; } int main() { Punkt p(4,2); std::cout << "Punkt P" << p << '\n'; }