Advertisement
Aniket_Goku

c++ virtual class

Oct 20th, 2020
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. //VIRTUAL BASE CLASS
  2. #include<iostream>
  3. using namespace std;
  4. //student class
  5. class student
  6. {
  7.     char name[20];
  8.     int r_no,div,sem;
  9.     public:
  10.     void get_data()
  11.     {
  12.         cout<<endl<<"======= student info ======";
  13.         cout<<"\n ENter the name: ";
  14.         cin>>name;
  15.         cout<<"\n Enter the roll_no: ";
  16.         cin>>r_no;
  17.         cout<<"\n Enter the semester: ";
  18.         cin>>sem;
  19.         cout<<"\n Enter the division: ";
  20.         cin>>div;
  21.     }
  22.     void put_data()
  23.     {
  24.         cout<<"\n====================";
  25.         cout<<endl<<name<<"\t"<<r_no<<"\t"<<sem<<"\t"<<div;
  26.     }
  27.        
  28.    
  29. };
  30.  
  31. ////internal class
  32. class internal :virtual public student
  33. {
  34.     float i_sub[5];
  35.     float int_outof;
  36.     public:
  37.     friend int sum_int_ext();
  38.     void get_int_data()
  39.     {
  40.         cout<<endl<<"======= internal info out of 70 ======";
  41.         for(int i=0;i<5;i++)
  42.         {
  43.             cout<<"\n Enter the sub["<<i+1<<"] marks: ";
  44.             cin>>i_sub[i];
  45.    
  46.         }
  47.     }
  48.    
  49.     void put_int_data()
  50.     {
  51.    
  52.         cout<<endl<<"=========internal marks out of 70 ==============";
  53.         static float ans=0;
  54.         for(int i=0;i<5;i++)
  55.         {
  56.             cout<<endl<<"i_sub["<<i+1<<"] => "<<i_sub[i];
  57.             ans+=i_sub[i];
  58.         }
  59.         int_outof=ans;
  60.         cout<<"total =>"<<int_outof;
  61.        
  62.        
  63.     }  
  64.     int put_int_out()
  65.     {
  66.         return int_outof;
  67.     }  
  68.    
  69. };
  70.  
  71. ///ext class
  72. class ext :virtual public student
  73. {
  74.     float e_sub[5],ext_outof;
  75.     public:
  76.         friend int sum_int_ext();
  77.     void get_ext_data()
  78.     {
  79.         cout<<endl<<"======= external info  out of 70======";
  80.         for(int i=0;i<5;i++)
  81.         {
  82.             cout<<"\n Enter the sub["<<i+1<<"] marks: ";
  83.             cin>>e_sub[i];
  84.    
  85.         }
  86.     }
  87.    
  88.     void put_ext_data()
  89.     {
  90.         cout<<endl<<"=========external marks out of 70 ==============";
  91.         static int ans=0;
  92.         for(int i=0;i<5;i++)
  93.         {
  94.            
  95.             cout<<endl<<"e_sub["<<i+1<<"] => "<<e_sub[i];
  96.             ans=ans+e_sub[i];  
  97.            
  98.         }
  99.         ext_outof=ans;
  100.         cout<<"total =>"<<ext_outof;
  101.        
  102.        
  103.     }      
  104.     int put_ext_out()
  105.     {
  106.         return ext_outof;
  107.     }
  108.    
  109. };
  110.  
  111.  
  112.  
  113. ///result class
  114. class result : public ext,public internal
  115. {
  116.     public:
  117.  
  118.     float  g,persantage;
  119.     char grade;
  120.    
  121.            
  122. };
  123. int main()
  124. {
  125.     result r1;
  126.     r1.get_data();
  127.     r1.get_int_data();
  128.     r1.get_ext_data();
  129.     r1.put_data();
  130.     r1.put_int_data();
  131.     r1.put_ext_data();
  132.     return 0;
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement