You are viewing a single comment's thread. Return to all comments →
Staight Forward Code using good OOP Design
#include<string.h> class Person{ protected: int age; string name; public: virtual void getdata(){ cin >> name >> age; } virtual void putdata(){ cout<<name<<" " <<age<<" "; } }; class Student:public Person{ private: static int cnt; int marks[6]; int cur_id; public : Student():Person(){ cnt++; cur_id = getCount(); } static int getCount(){ return cnt; } virtual void getdata(){ Person::getdata(); for (int i=0; i<6; i++) cin >> marks[i]; } virtual void putdata(){ int total_marks = 0; Person::putdata(); for (int i = 0; i<6; i++) total_marks+=marks[i]; cout<<total_marks<<" "<<cur_id<<endl; } }; class Professor:public Person{ private: static int cnt; int cur_id; int publications; public: Professor():Person(){ cnt++; cur_id = getCount(); } virtual void getdata(){ Person::getdata(); cin >> publications; } virtual void putdata(){ Person::putdata(); cout<<publications<<" "<<cur_id<<endl; } static int getCount(){ return cnt; } }; int Student::cnt = 0; int Professor::cnt = 0;
Seems like cookies are disabled on this browser, please enable them to open this website
Virtual Functions
You are viewing a single comment's thread. Return to all comments →
Staight Forward Code using good OOP Design