In C++, these two structures are actually same:

1: struct {
private:
int a;
public:
int Func() {return a;}
};

2: class {
int a;
public:
int Func() {return a;}
};

The only difference between class and struct is that the implicit access specification for struct is PUBLIC, for class PRIVATE. Therefore you can use for example

class Point {
public:
double x;double y;
};

instead of

struct Point {
double x;double y;
};

What I was trying to say was that the use of structure #1 or class Point written above is, in my own humble opinion, really pervert.