Thus one can define functions within a class. These are called member functions . Only accessable to member functions. Freely accessable to the everyone. Class Methods, data members etc.
Constructors have the same name as the class.
Useful for free'ing memory that's allocated , say in the constructor for data members. Not freeing memory can cause leaks. Destructors DO NOT take parameters. They are distinguished by the parameters they accept and not on the values they return. Even though the return value has different types.