Headlines
Loading...
C++ PROGRAM  for hybrid(multilevel,multipath) inheritance(using virtual function)

C++ PROGRAM for hybrid(multilevel,multipath) inheritance(using virtual function)

 /* Program for hybrid inheritance(using virtual function) */

/* Student result based on exam score and sports,using 

   hybrid(multilevel,multipath)inheritance */


#include<iostream.h>

#include<conio.h>

#include<string.h>

const int max_len=25;


class person

{

private:

char name[max_len];

char sex;

int age;

public:

void readperson()

{

cout<<"\nEnter Name:";

cin>>name;

cout<<"\nEnter sex:";

cin>>sex;

cout<<"\nEnter age:";

cin>>age;

}

void displayperson()

{

cout<<"Name:"<<name<<endl;

cout<<"Sex:"<<sex<<endl;

cout<<"age:"<<age<<endl;

       }

};

class sports:public virtual person   //virtual class

{

private:

char name[max_len];//name of game

int score;         //score awarded for result declaration

protected:

void readdata()

{

cout<<"\nEnter gamed played:";

cin>>name;

cout<<"\nEnter game score:";

cin>>score;

       }

       void displaydata()

       {

cout<<"\nSports played:"<<name<<endl;

cout<<"Game score:"<<score<<endl;

}

int sportsscore()

{

return score;

}

};



class student:public virtual person   //virtual class

{

  private:

int rollno;

char branch[30];

 public:

void readstudentdata()

{

cout<<"\nEnter rollno:";

cin>>rollno;

cout<<"\nEnter branch in studying:";

cin>>branch;

}

void putstudentdata()

{

cout<<"\nROllno:"<<rollno;

cout<<"\nBranch:"<<branch;

}

};

class exam :  public student

{

protected:

int sub1marks,sub2marks;

public:

void readdata()

{


cout<<"\nEnter scored in subject1:";

cin>>sub1marks;

cout<<"\nEnter scored in subject2:";

cin>>sub2marks;

}

void displaydata()

{

cout<<"\nInternal marks scored in subject1:"<<sub1marks;

cout<<"\nInternal marks scored in subject2:"<<sub2marks;

cout<<"\nTotal marks scored:"<<totalmarks()<<endl;

}

int totalmarks()

{

return(sub1marks+sub2marks);

}


};

class result: public exam ,public sports

{

private:

int total;


public:

void readdata()

{

readperson(); //access person class member

student::readstudentdata();

exam::readdata();//uses readdata of exam class

sports::readdata();

}

void displaydata()

{

displayperson();

student::putstudentdata();

exam::displaydata();

sports::displaydata();

cout<<"\nOverall performance,(exam+sports):"

     <<percentage()<<"%";

       }

      int percentage()

      {

return(exam::totalmarks()+sportsscore())/3;

      }



};


void main()

{

clrscr();

result student;

cout<<"\nEnter data for student..."<<endl;

student.readdata();

cout<<"\nStudent details..."<<endl;

student.displaydata();


getch();

}


/*Ouput */

/*

Enter data for student...


Enter Name:Raj


Enter sex:M


Enter age:22


Enter rollno:4


Enter branch in studying:Computer-science


Enter scored in subject1:92


Enter scored in subject2:88


Enter gamed played:cricket


Enter game score:85


Student details...

Name:ROY

Sex:M

age:22


ROllno:4

Branch:Computer-science

Internal marks scored in subject1:92

Internal marks scored in subject2:88

Total marks scored:180


Sports played:cricket

Game score:85


Overall performance,(exam+sports):88%

*/


*** PLEASE checkout the Best deals from for top sites like Amazon, Flipkart etc ***