#include <iostream>

struct point
{
    point(int a, int b) : x(a), y(b) {}
    
    int horiz() const { return x; }
    int vert() const { return y; }
    
private:
    int x,y;
};

std::ostream& operator << (std::ostream & out, point const& pt)
{
    return out << pt.horiz() << ", " << pt.vert();
}

int main()
{
    point p{0,2};
    
    std::cout << p << "\n";
    
    p = {42,420};
    
    std::cout << p << "\n";
}