1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
#include <iostream>
#include <string>
using namespace std;
void instance(); void write(); void display(); void clear();
void instance()
{
person p;
student ps;
graduator psg;
}
void display()
{
p.display();
ps.display();
psg.display();
}
void write()
{
p.write(000, "Robert", "Lucian", 16);
ps.write(001, "Jessica", "Andreea", 6, 2009);
psg.write(002, "Tata", "Mama", 11, 2008, "Comp lf", "Columbia", 2003);
}
void clear()
{
p.clearP();
ps.clearPS();
psg.clearPSG();
}
class person
{
protected:
int id, age;
char first[16], last[16];
public:
virtual void display()
{
cout << "ID: " << id << endl;
cout << "First name: " << first << endl;
cout << "Last name: " << last << endl;
cout << "Age: " << age << endl;
}
virtual void write(int ID, char FIRST[], char LAST[], int AGE)
{
id = ID;
age = AGE;
strcpy_s(first, FIRST);
strcpy_s(last, LAST);
}
void clearP()
{
id = age = 0;
first[0] = last[0] = 0;
}
};
class student : public person
{
protected:
int graduation;
public:
void display()
{
person::display();
cout << "Graduation: " << graduation << endl;
}
void write(int ID, char FIRST[], char LAST[], int AGE, int GRADUATION)
{
person::write(ID, FIRST, LAST, AGE);
graduation = GRADUATION;
}
void clearPS()
{
graduation = 0;
}
};
class graduator : public student
{
protected:
int undergrad;
char undergradschl[64], major[64];
public:
void write(int ID, char FIRST[], char LAST[], int AGE, int GRADUATION, char MAJOR[], char UNDEGRADSCHL[], int UNDERGRAD)
{
student::write(ID, FIRST, LAST, AGE, GRADUATION);
strcpy_s(major, MAJOR);
strcpy_s(undergradschl, UNDERGRADSCHL);
undergrad = UNDERGRAD;
}
void display()
{
student::display();
cout << "Major: " << major << endl;
cout << "Undergrad school: " << undergradschl << endl;
cout << "Undergrad graduation: " << undergrad << endl;
}
void clearPSG()
{
undergrad = 0;
undergradschl[0] = major[0] = 0;
}
};
int main()
{
instance();
write();
display();
clear();
return 0;
}
|