First From ::
__________________
| Base class - A |
|__________________|
^
|
________|_________ __________________
| class - B | | class - C |
|__________________| |__________________|
^ ^
| __________________|
______|____|____
| class - D |
|__________________|
General Form :: class A
{
};
class B:public A
{
};
class C
{
};
class D:public C,public B
{
};
For Example :#include <iostream.h>
#include <conio.h>
class A
{
protected:
int regno;
public:
void getRegno(int a)
{
regno=a;
}
void putRegno()
{
cout << endl << "Student Registration Number::" << regno;
}
};
class B : public A
{
protected:
int Sess_No1,Sess_No2,Sess_No3;
public:
void getSessional(int m1,int m2,int m3)
{
Sess_No1=m1;
Sess_No2=m2;
Sess_No3=m3;
}
void putSessional()
{
cout << endl << " Sessinal Marks-1::" << Sess_No1;
cout << endl << " Sessinal Marks-1::" << Sess_No2;
cout << endl << " Sessinal Marks-1::" << Sess_No3;
}
};
class C
{
protected :
char grade;
public :
void getGrade(char i)
{
grade=i;
}
void putGrade()
{
cout << endl << " Sports Grade::" << grade;
}
};
class D : public C ,public B
{
private:
int total;
public :
void dispResult ()
{
total=Sess_No1+Sess_No2+Sess_No3;
putRegno();
putSessional();
putGrade();
cout << endl << " Total Marks Obtained::" << total;
}
};
int main ()
{
D object;
object.getRegno(101);
object.getSessional(90,90,98);
object.getGrade('A');
object.dispResult();
return 0;
}
Second Form ::[Need to make virtual base class to handle following form of inheritance]
____________________
------->| Base class - A |<-------
| |____________________| |
| |
| |
| |
_________|__________ ___________|________
| Derive class - B | | Derive class - C |
|____________________| |____________________|
^ ^
| |
| |
| ____________________ |
|_______| Derive class - D |_______|
|____________________|
General Form :: class A
{
};
class B:public A
{
};
class C:public A
{
};
class D:public B,public C
{
};
No comments:
Post a Comment