Multiple Inheritance General Program

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

#include <iostream>

class BaseClassA {
private:
int privateDataMemberOfClassA;
protected:
int protectedDataMemberOfClassA;
public:
int publicDataMemberOfClassA;
// Constructor initializing data members
BaseClassA() : privateDataMemberOfClassA(1), protectedDataMemberOfClassA(2),
publicDataMemberOfClassA(3) {}
};
class BaseClassB {
private:
int privateDataMemberOfClassB;
protected:
int protectedDataMemberOfClassB;
public:
int publicDataMemberOfClassB;
// Constructor initializing data members
BaseClassB() : privateDataMemberOfClassB(4), protectedDataMemberOfClassB(5),
publicDataMemberOfClassB(6) {}
};
class DerivedClassMultipleInheritance : public BaseClassA, public BaseClassB {
private:
int privateDataMemberOfDerivedClassMultipleInheritance;
protected:
int protectedDataMemberOfDerivedClassMultipleInheritance;
public:
int publicDataMemberOfDerivedClassMultipleInheritance;
// Constructor initializing data members
DerivedClassMultipleInheritance()
: privateDataMemberOfDerivedClassMultipleInheritance(7),
protectedDataMemberOfDerivedClassMultipleInheritance(8),
publicDataMemberOfDerivedClassMultipleInheritance(9) {}
};
int main() {
// Creating objects
BaseClassA objectOfBaseClassA;
BaseClassB objectOfBaseClassB;
DerivedClassMultipleInheritance objectOfDerivedClassMultipleInheritance;
// Accessing data members and printing values for objectOfBaseClassA
std::cout << "Object of BaseClassA:\n";
std::cout << objectOfBaseClassA.privateDataMemberOfClassA << std::endl;
std::cout << objectOfBaseClassA.protectedDataMemberOfClassA << std::endl;
std::cout << objectOfBaseClassA.publicDataMemberOfClassA << std::endl;
std::cout << objectOfBaseClassA.privateDataMemberOfClassB << std::endl;
std::cout << objectOfBaseClassA.protectedDataMemberOfClassB << std::endl;
std::cout << objectOfBaseClassA.publicDataMemberOfClassB << std::endl;
std::cout << objectOfBaseClassA.privateDataMemberOfDerivedClassMultipleInheritance <<
std::endl;
std::cout << objectOfBaseClassA.protectedDataMemberOfDerivedClassMultipleInheritance
<< std::endl;
std::cout << objectOfBaseClassA.publicDataMemberOfDerivedClassMultipleInheritance <<
std::endl;
// Accessing data members and printing values for objectOfBaseClassB
std::cout << "Object of BaseClassB:\n";
std::cout << objectOfBaseClassB.privateDataMemberOfClassA << std::endl;
std::cout << objectOfBaseClassB.protectedDataMemberOfClassA << std::endl;
std::cout << objectOfBaseClassB.publicDataMemberOfClassA << std::endl;
std::cout << objectOfBaseClassB.privateDataMemberOfClassB << std::endl;
std::cout << objectOfBaseClassB.protectedDataMemberOfClassB << std::endl;
std::cout << objectOfBaseClassB.publicDataMemberOfClassB << std::endl;
std::cout << objectOfBaseClassB.privateDataMemberOfDerivedClassMultipleInheritance <<
std::endl;
std::cout << objectOfBaseClassB.protectedDataMemberOfDerivedClassMultipleInheritance
<< std::endl;
std::cout << objectOfBaseClassB.publicDataMemberOfDerivedClassMultipleInheritance <<
std::endl;
// Accessing data members and printing values for objectOfDerivedClassMultipleInheritance
std::cout << "Object of DerivedClassMultipleInheritance:\n";
std::cout << objectOfDerivedClassMultipleInheritance.privateDataMemberOfClassA <<
std::endl;
std::cout << objectOfDerivedClassMultipleInheritance.protectedDataMemberOfClassA <<
std::endl;
std::cout << objectOfDerivedClassMultipleInheritance.publicDataMemberOfClassA <<
std::endl;
std::cout << objectOfDerivedClassMultipleInheritance.privateDataMemberOfClassB <<
std::endl;
std::cout << objectOfDerivedClassMultipleInheritance.protectedDataMemberOfClassB <<
std::endl;
std::cout << objectOfDerivedClassMultipleInheritance.publicDataMemberOfClassB <<
std::endl;
std::cout <<
objectOfDerivedClassMultipleInheritance.privateDataMemberOfDerivedClassMultipleInherita
nce << std::endl;
std::cout <<
objectOfDerivedClassMultipleInheritance.protectedDataMemberOfDerivedClassMultipleInher
itance << std::endl;
std::cout <<
objectOfDerivedClassMultipleInheritance.publicDataMemberOfDerivedClassMultipleInherita
nce << std::endl;
return 0;
}

You might also like