Everyone knows that memory management is a difficult and dangerous chore in C++. This series of three articles will show you that the conventional wisdom is not true. When approached correctly, C++’s seemingly archaic memory-management scheme actually provides an opportunity to create spectacular programs – programs that would not be possible with more modern languages that handle memory automatically.
As we begin the study of C++ and object oriented programming, a few comments are in order to help you get started. Since the field of object oriented programming is probably new to you, you will find that there is a significant amount of new terminology for you to grasp. This is true of any new endeavor and you should be warned not to be intimidated by all of the new concepts.
In OOP terms, polymorphism represents the ability to resolve a reference to an object’s method at run time. Specifically, different objects could make a call to a Draw or Print method, and these methods would act differently with each object; the process can take different forms behind a common interface. One of the benefits of polymorphism is that because the interface is common to objects, any object is able to respond differently to some common set of tasks, and objects are independent of each other.
NeoMem allows you to store and organize all kinds of information in a cross between a word processor and database. The interface is similar to Windows Explorer, except that instead of dealing with files on a hard disk you deal with objects in a file. It can be used to store to do lists, books, website passwords, addresses, account information, and collections of all kinds. You can define your own classes for items that you want to store information about, and define properties for those objects. Each object can also store formatted text in a simple word processor view.
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#.