Object Oriented Programming Practical 14

Question 1
Write a C++ program to implement the concept of virtual base class for following figure.
student.cpp
C
				#include<iostream.h>
#include<conio.h>

class student
{
	char name[50];
	public:
	void accept()
	{
      cout<<"\nEnter name of student: ";
      cin>>name;
	}

	void display()
	{
		cout<<"\nName of student: "<<name;
	}
};

class test:virtual public student
{
	public:
   int marks;
   
	void gettest()
	{
      cout<<"\nEnter marks of test: ";
      cin>>marks;
	}

	void puttest()
	{
		cout<<"\nTest marks: "<<marks;
	}
};

class sports:virtual public student
{
	public:
   int sport_score;

	void getsport()
	{
      cout<<"\nEnter sport score: ";
      cin>>sport_score;
	}

	void putsport()
	{
		cout<<"\nSport score: "<<sport_score;
   }
};

class result: public test,public sports
{
	public:
	void putresult()
	{	
		int total=marks+sport_score;
		cout<<"\nResult is: "<<total;
	}
};

int main()
{
	clrscr();
	result r;
	r.accept();
	r.gettest();
	r.getsport();
	r.display();
	r.puttest();
	r.putsport();
	r.putresult();
	getch();
	return 0;
}

			
Output
Question 2
Write a C++ program to implement given figure class hierarchy. Assume suitable member variables and member functions.
account.cpp
C
				#include<iostream.h>
#include<conio.h>

class account
{
	char bankname[50];
	public:
	void accept()
	{
      cout<<"\nEnter bankname of bank: ";
      cin>>bankname;
	}

	void display()
	{
		cout<<"\nName of bank: "<<bankname;
	}
};

class saving_acc:virtual public account
{
	public:
	int balance;
   
	void getsaving()
	{
      cout<<"\nEnter balance of saving account: ";
      cin>>balance;
	}

	void putsaving()
	{
		cout<<"\nSaving account balance: "<<balance;
	}
};

class current_acc:virtual public account
{
	public:
	int balance;

	void getcurrent()
	{
      cout<<"\nEnter balance of current account: ";
      cin>>balance;
	}

	void putcurrent()
	{
		cout<<"\nCurrent account balance: "<<balance;
   }
};

class fix_depo_acc: public saving_acc,public current_acc
{
	public:
	int balance;
	
	void getaccount()
	{	
		cout<<"\nEnter fixed deposit balance: ";
		cin>>balance;
	}
	void putaccount()
	{	
		cout<<"\nBalance in fixed deposit: "<<balance;
	}
};

int main()
{
	clrscr();
	fix_depo_acc fd;
	fd.accept();
	fd.getsaving();
	fd.getcurrent();
	fd.getaccount();
	fd.display();
	fd.putsaving();
	fd.putcurrent();
	fd.putaccount();
	getch();
	return 0;
}

			
Output

Leave a Comment

Your email address will not be published. Required fields are marked *