Any program which uses these five methodologies or any of it, we can call that program object oriented. They are Encapsulation, Data Hiding, Overloading, Polymorphism, Inheritance. Any programming language which supports all of these features and facilitate the programmer in developing the program in these methodologies is called Object Oriented Programming Language i.e. C++, Java, C#.
The pointer is a variable which holds the memory address of another variable. If one variable contains the address of another variable, the first variable is said to point to the second. There are two types of pointer operators; * and &. the & is a unary operator that returns the memory address of its operand.
A constructor is a special method that is created when the object is created or defined. This particular method holds the same name as that of the object and it initializes the instance of the object whenever that object is created. The constructor also usually holds the initialization of the different declared member variables of its object.
A class is an organisation of data and functions which operate on them. Data structures are called data members and the functions are called member functions, The combination of data members and member functions constitute a data object or simply an object.
Operator Overloading enables us to make the standard operators, like +, -, * etc, to work with the objects of our own data types or classes. We can write a function which redefines a particular operator so that it performs a specific operation when it is used with the object of a class.