CPP is a general purpose Object Oriented Programming language which evolved as an extension to C language. It is an intermediate level language, as it encapsulates the features of both high and low level language. Some of the major features of CPP are;
Simple and Easy to Understand:
CPP provides multiple features that makes it a simple and easy to use language including structured approach to problem solving, rich set of library functions and data types.
Machine Independent or Portable:
Though CPP is a platform dependent language, but at the same time it is machine independent, i.e, it can be executed in many machines with a little bit or no change making it is a highly portable language.
Mid-level programming language:
CPP is a mid level language, as it supports the features of both high and low level language. It can be used to do low level programming, to develop system applications such as kernel, driver etc. and at the same time it can be also used to do high level programming.
Structured programming language:
A programming language is called as a structured programming language if it facilitates the feature of complex problem solving by breaking the program into small parts using functions resulting in an easy to understand and easy to modify program. CPP is a structured programming language.
The rich library of CPP supports a lot of inbuilt functions. Thus, CPP is considered as an user friendly language and is used for fast development.
Allocating and reallocating a memory is easy with CPP unique feature of dynamic memory allocation.
CPP is considered as a fast speed language as it takes very less compilation and execution time.
Pointers are another major feature of CPP as in C. Pointers can be used in CPP programs for direct interaction with the memory, structures, functions, array etc.
Recursion means to call a function within the same function. CPP supports the feature of recursion thus increasing code reusability for every function in the program.
CPP is termed as an extensible language since adopting any new feature is very easy in CPP.
CPP is called as an Object oriented programming language because it supports both procedural and Object oriented style of programming, unlike C, which only supports Procedural style of programming. The main advantage of OOPS is that, it makes the development and maintenance of an application easier which is not possible in a Procedure-oriented programming language where managing a code gets more difficult with an increased project size and project complexity.
Where execution is impossible without compilation, i.e, the developer needs to compile the program every time before execution, such a programming language is termed as a compiler based programming language. CPP is a compiler based programming language.