#include <stdio.h>
#include <math.h>

struct point
{
public:
    point()
    {
        this->_x = 0;
        this->_y = 0;
    }
    point(float x, float y)
    {
        this->_x = x;
        this->_y = y;
    }

    float x() const { return this->_x; }
    float y() const { return this->_y; }

    void move(float x, float y)
    {
        this->_x += x;
        this->_y += y;
    }

    float abs() const
    {
        return sqrtf(this->_x*this->_x + this->_y*this->_y);
    }

private:
    float _x;
    float _y;
};

int main(void)
{
    point p;                                           // <-- default initialization
    printf("point (%f,%f)\n", p.x(), p.y());
    printf("abs %f\n", p.abs());
    return 0;
}
