#include<iostream.h>
#include<conio.h>
#include<string.h>
class StringRev{
	char s[20];
	public:
		StringRev(){}
		StringRev(char *p){
			strcpy(s,p);
		}
		void display(){
			cout<<s<<endl;
		}

 #include<iostream.h>
#include<conio.h>
#include<string.h>
class StringConcat{
	char s[20];
	public:
		StringConcat(){}
		StringConcat(char *p){
			strcpy(s,p);
		}
		void display(){
			cout<<s<<endl;
		}

A class is derive from a class which is derive from another class is known as multilevel inheritance or we can say derived class work as a base class for another derived class called multilevel inheritance.

When a class is derived from single base class and derived class can’t work as base class for another class called single level inheritance.
Example:

class A{

    public:

       void show(){

                  cout<<"show\n";

       }

};

...

Like any other function, a constructor can also be overloaded with more than one function that have the same name but different types or number of parameters. Remember that for overloaded functions the compiler will call the one whose parameters match the arguments used in the function call. In the case of constructors, which are automatically called when an object is created, the one executed is the one that matches the arguments passed on the object declaration.
Example :

Class A{

            int x;

            public:

                        A(){

                                    cout<<"A Default";

                        }

                        ...