Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
11 views26 pages

Lecture 2 (Module 3)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views26 pages

Lecture 2 (Module 3)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Module: 3

Multiple Inheritance:
• Multiple Inheritance is a feature of C++ where a class can inherit from
more than one class.
• i.e one subclass is inherited from more than one base class.
Multiple Inheritance:
Syntax:
class subclass_name : access_mode base_class1, access_mode
base_class2, ....

{ // body of subclass };

class B
{ ... .. ... };
class C
{ ... .. ... };
class A: public B, public C { ... ... ... };

Here, the number of base classes will be separated by a comma (‘, ‘)


and the access mode for every base class must be specified.
C++ Program:
#include <iostream>
using namespace std;

// first base class


class Vehicle {
public:
Vehicle() { cout << "This is a Vehicle\
n"; }
};

// second base class


class FourWheeler {
public:
FourWheeler()
{
cout << "This is a 4 wheeler
Vehicle\n";
}
};
// sub class derived from two base classes
class Car : public Vehicle, public
FourWheeler {
};

// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base
classes.
Car obj;
return 0;
}
OUTPUT

This is a Vehicle
This is a 4 wheeler
Vehicle
Multilevel Inheritance:
• In this type of inheritance, a derived class is created from another
derived class.
Syntax:-
class C
{
... .. ...
};
class B:public
C
{
... .. ...
};
class A: public
B
{
... ... ...
};
C++ Program:
#include <iostream>
using namespace std;

// base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehicle\n"; }
};

// first sub_class derived from class vehicle


class fourWheeler : public Vehicle {
public:
fourWheeler()
{
cout << "Objects with 4 wheels are
vehicles\n";
}
};
// sub class derived from the derived base class
fourWheeler
class Car : public fourWheeler {
public:
Car() { cout << "Car has 4 Wheels\n"; }
};

// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base classes.
Car obj;
return 0;
}
OUTPUT
This is a Vehicle
Objects with 4 wheels are
vehicles
Car has 4 Wheels
Hierarchical Inheritance:
• In this type of inheritance, more than one subclass is inherited from a
single base class. i.e. more than one derived class is created from a
single base class.
Syntax:-
class A
{
// body of the class
A.
}
class B : public A
{
// body of class B.
}
class C : public A
{
// body of class C.
}
class D : public A
{
// body of class D.
C++ Program
#include <iostream>
using namespace std;

// base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehicle\
n"; }
};

// first sub class


class Car : public Vehicle {
};

// second sub class


class Bus : public Vehicle {
};
// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base
class.
Car obj1;
Bus obj2;
return 0;
}
OUTPUT
This is a
Vehicle
This is a
Vehicle
Hybrid (Virtual) Inheritance:
• Hybrid Inheritance is implemented by combining more than one type
of inheritance.
• For example: Combining Hierarchical inheritance and Multiple
Inheritance.
Below image shows the combination of hierarchical
and multiple inheritances:
C++ Program
#include <iostream>
using namespace std;

// base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehicle\
n"; }
};

// base class
class Fare {
public:
Fare() { cout << "Fare of Vehicle\n"; }
};

// first sub class


class Car : public Vehicle {
};
// second sub class
class Bus : public Vehicle, public Fare
{
};

// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base
class.
Bus obj2;
return 0;
}
Output

This is a
Vehicle
Fare of Vehicle
Constructors & Destructors

– When a base class and a derived class both have constructor and
destructor functions
•Constructor functions are executed in order of derivation – base
class before derived class.
•Destructor functions are executed in reverse order – the derived class’s
destructor is executed before the base class’s destructor.
– A derived class does not inherit the constructors of its base class.
C++
Inheritance
class Base {
public:
Base()
{ cout
<<
“Const
ructor
Base
Class\
n”;}
~Base()
{cout
<<
int main()
“Destr ---- OUTPUT ----
ucting { Derived Constructor Base Class
Base ob; return Constructor Derived Class
Class\ o; Destructing Derived
}
n”;} Class Destructing Base
}; Class
class Derived : public Base {
public:
Derived() { cout <<
Constructor Derived
Class\n”;} 24

You might also like