Objects - What are they?
In the expression
Vector2 c3 = c1 + c2;
c1, c2 and c3 are Vector2 objects.
Objects may be manipulated by the user only in a predefined way
(through an interface). The expression
Vector2 c3 = c1 / c2;
would be rejected by the compiler because the division operator is not
defined for Vector2 objects.
Objects behave like user-defined types. The statement
Vector2 c1 = Vector2(...);
which constructs and initialises a Vector2 object is very
int c1 = int(...);
which constructs and initialises objects of the built-in type,
Objects are represented by data and functions but the
implementation is hidden.