Inheritance

 

As the name suggests that it is taking or acquiring some properties from somewhere if we go into its actual definition then INHERITANCE means to get some properties, characteristics or qualities from the predecessor by succession. In this post the inheritance in C++ is discussed.

The definition according to the programming is that the process by which the one class acquire the properties of objects of another class. In other words Inheritance is the mechanism deriving new class from an old one is called inheritance which is also called as derivation. This concept provides the idea of Reusability. This allows user to tailor almost the complete class without any side effects.

The different types of Inheritance are:

1)      Single

2)      Multiple

3)      Hierarchical

4)      Multilevel

5)      Hybrid

The Inheritance adds some more concepts derived class and base class. The syntax of derived class is

Class <derived-class-name> : visibility mode <base-class-name>

{

//body of derived class

};

The visibility mode part is optional here it can be private or public. If its not provided then its private.

Now when the class is publically inherited then the public part of base class becomes the public part of the derived class (in short the public part of base class is inherited to the public part of the derived class) and when the base class is privately inherited then public members of the base class become private members of the derived class.

The private members of the base class are not derived In any of the conditions given above.

Sometimes when we want in our program to inherit the private members of the base class then the C++ provides another visibility modifier, protected. Whenever the member is declared as protected, then that member is accessible by member functions to the class which is derived from that base class.

 

Features of C++

Hello Friends I’m back with this new interesting topic…

The Features of C++

C++ is the multi paradigm, compile, free form , general purpose, statistically typed programming language. This is known as middle level language as it comprises of low level and high level language features.

And there are some other things and advantages of this language over the C. This language of invented by Bjarne Stroustrup was working on the “C with classes” as his Ph.D.  topic. The first commercial implementation of the C++ was released in 1985 and before that the name of language was changed to “C++”. And some new features were added to the language and The main features of the C++ are

  • Classes
  • Inheritance
  • Data abstraction and encapsulation
  • Polymorphism
  • Dynamic Binding
  • Message Passing

Lets elaborate each topic in this post…common friends lets do it…

1)      Classes: By using classes we can create user defined data types. In other words the class is the collection of set of data and code. The class allows us to do some things which are polymorphism, inheritance, abstraction, encapsulation which are our next features. The objects are the instances of classes.

The syntax for class is :

Class <class-name>

{

//Body of class;

};

 

2)      Inheritance: Inheritance allows one data type to acquire properties of other data types. Inheritance from a base class may be declared as public, protected, or private. If the access specifier is omitted, a “class” inherits privately, while a “struct” inherits publicly. This provides the idea of reusability that means we can add the new features to an existing class without modifying it.

 

3)      Data Abstraction and Encapsulation: Encapsulation means hiding of data from the data structures or in other words wrapping up of data in single entity is known as Encapsulation. In this the data is not accessible to outside world and only the  functions are allowed to access it.  When we want to write the class in which we don’t have the knowledge about the arguments used to instantiate it then we can use templates in C++. Abstraction can be defined as the act of representing essential features without including background details.

 

 

4)      Polymorphism: it means that the one interface can be used for many implementation so that object can behave differently for each implementation. The different types of polymorphism are static (Compile time) and dynamic (Run time).

 

5)      Dynamic Binding: It means that the linking of a procedure call to code to be executed in response to the call. A function call associated with a polymorphic reference depends on the dynamic type that reference. And at run-time the code matching the object under current reference will be called.

 

6)      Message Passing: An object oriented program consists of the set of objects that communicate with each other. objects communicate with one another by sending and receiving information much the same way as people pass messages to one another. The concept of message passing makes it easier to direct model or simulate their real world counterparts.

 

And there are some other features too. So next time we will study the each component or feature of the C++.

Till then have happy programming. 🙂