#include <iostream> using namespace std; class base { private: int x; float y; public : virtual void getdata( ); virtual void display( )=0; }; class derived : public base { private: int roll,m[10],sum,n,no; char name[20]; float avg; public : void getdata( ); void display( ); }; void base :: getdata( ) { } void base :: display( ) { } void derived :: getdata( ) { cout<<"\n\nEnter Roll of the Student: "; cin>> roll; cout<<" \nEnter Name of the Student: "; cin>>name; sum=0; cout<<"\nEnter Number of Subjects : "; cin>>n; for(int i=0; i<n; i++) { cout<<"\nEnter Marks in Subject "<<i+1<<": "; cin>>m[i]; sum+=m[i]; } avg=sum/n; } void derived :: display( ) { cout<<"\n\n\n"; cout<<"\nRoll No :"<<roll <<endl; cout<<"\nName :"<<name<<endl; cout<<"\nAverage :"<<avg<<endl; } int main( ) { cout<<"\n\n **** IMPLEMENTATION OF VIRTUAL AND PURE VIRTUAL FUNCTOIN ****\n"; int no; base * ptr; derived obj; ptr = &obj; cout<<"\n\n Enter Number of Records :"; cin>>no; for(int i=0; i<no; i++) { cout<<"\n\n\n\n Details of Student "<<i+1<<" :- "<<endl; cout<<"\n\n\t******* READING DATA ******* \n"; ptr -> getdata( ); cout<<"\n\n\t******* DISPLAYING DATA ******* "; ptr -> display( ); } }
OUTPUT
**** IMPLEMENTATION OF VIRTUAL AND PURE VIRTUAL FUNCTOIN **** Enter Number of Records :2 Details of Student 1 :- ******* READING DATA ******* Enter Roll of the Student: 01 Enter Name of the Student: AAA Enter Number of Subjects : 2 Enter Marks in Subject 1: 45 Enter Marks in Subject 2: 78 ******* DISPLAYING DATA ******* Roll No :1 Name :AAA Average :61 Details of Student 2 :- ******* READING DATA ******* Enter Roll of the Student: 02 Enter Name of the Student: BBB Enter Number of Subjects : 2 Enter Marks in Subject 1: 54 Enter Marks in Subject 2: 67 ******* DISPLAYING DATA ******* Roll No :2 Name :BBB Average :60