Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- using namespace std;
- /*
- class Date
- {
- private:
- int year, month, day;
- public:
- Date(int y, int m, int d) { year = y; month = m; day = d; }
- bool operator=(const Date d)
- {
- }
- };
- */
- class UniMember
- {
- private:
- string name, e_mail, dob;
- public:
- UniMember(string n, string e, string d);
- virtual void print();
- };
- void UniMember::print(){
- cout << "UniMember name: "<<name<<endl;
- cout << "UniMember e_mail: "<<e_mail<<endl;
- }
- UniMember::UniMember(string n, string e, string d)
- : name(n), e_mail(e), dob(d)
- {
- cout << "UniMem init" << endl;
- }
- class Student : public UniMember
- {
- private:
- int admissionYear;
- list<string> courses;
- public:
- Student(string n, string e, string d, int y, list<string> coursesList);
- void print();
- };
- void Student :: print (){
- cout <<"Student Admission Year: "<<admissionYear<<endl;
- }
- Student :: Student(string n, string e, string d, int y, list<string> coursesList)
- : UniMember(n, e, d), admissionYear(y), courses(coursesList)
- {
- cout << "student init" << endl;
- }
- class Teacher : public UniMember
- {
- private:
- string dob;
- list<string> courses;
- public:
- Teacher(string n, string e, string d, list<string> coursesList);
- void print();
- };
- void Teacher :: print(){
- cout <<"Teacher DOB: " << dob<<endl;
- UniMember::print();
- }
- Teacher :: Teacher(string n, string e, string d, list<string> coursesList)
- : UniMember(n, e, d), courses(coursesList)
- {
- cout << "teacher init" << endl;
- }
- void test1()
- {
- UniMember* pUniMember;
- list<string> L = { "maths", "c++", "stuff" };
- pUniMember = new Student{"John", "john@stud.com", "1827-05-28", 1997, L};
- list<string> tL = { "theory of something", "physics" };
- pUniMember = new Teacher {"Peter", "boss@uni.ro", "1672-02-12", tL};
- pUniMember->print();
- Teacher* pTeacher;
- pTeacher = new Teacher {"Ralph", "ralph@uni.ro", "1972-02-12", tL};
- // pTeacher = new UniMember { ""}
- }
- void test_lab10_1(){
- list<UniMember*>uList;
- uList.push_back(new Teacher{"Ralph", "ralph@uni.ro", "1972-02-12"});
- uList.push_back(new Student{"John", "john@stud.com", "1827-05-28", 1997,});
- uList.push_back(new UniMember{"DASAS","asd@asd.com","123-123-123"});
- for (list<UniMember*>::iterator it = uList.begin();it!=uList.end();++it){
- (*it)->print();
- }
- }
- int main()
- {
- // UniMember Andrew{"Andrew", "andrew@uni.com", "2017-04-12"};
- //
- // list<string> L = { "maths", "c++", "stuff" };
- // Student John{"John", "john@stud.com", "1827-05-28", 1997, L};
- //
- // list<string> tL = { "theory of chibrit", "boring stuff III" };
- // Teacher Peter{"Peter", "boss@uni.ro", "1672-02-12", tL};
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement