Default constructor will be invoked if initialization is not done explicitely.
Initialize in the member initializer list.
IMPORTANT: constructors for objects in the initializer
list are called in the order seen in the member declaration, NOT the
order coded in the member initializer list. Therefore, to avoid confusion, it
is best to ensure the orders are equivalent.
Allows initialization of const members.
Example:
class A {
const int data;
public:
A(int new_data): data(new_data) { ... };
};