Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- class Human
- {
- std::string name;
- int age;
- public:
- Human(std::string nameP, int ageP) : name{ nameP }, age{ ageP }
- {
- std::cout << "Human constructed for " << this << '\n';
- };
- Human() : Human{ "John Doe", 42 } {};
- ~Human()
- {
- std::cout << "Human destructed for " << this << '\n';
- }
- //Human() : name{ "John Doe" }, age{ 42 } {};
- void print() { std::cout << name << ' ' << age << '\n'; };
- };
- class Teacher : public Human
- {
- public:
- std::string universityName;
- Teacher(std::string nameP, int ageP, std::string universityNameP)
- : Human{ nameP, ageP }, universityName{universityNameP}
- {
- std::cout << "Teacher constructed for " << this << '\n';
- };
- Teacher():Teacher{ "Teacher Doe", 33, "STEP" } {};
- ~Teacher()
- {
- std::cout << "Teacher destructed for " << this << '\n';
- };
- void print()
- {
- Human::print();
- std::cout << "I'm a Teacher in " << universityName << " :{\n";
- };
- //void printTeacher() { print(); std::cout << universityName << '\n'; }
- };
- class Student : public Human
- {
- public:
- std::string universityName;
- float avgGrade;
- };
- class Employee : public Human
- {
- public:
- std::string companyName;
- double salary;
- };
- int main()
- {
- std::cout << "Human...\n";
- Human hum;
- hum.print();
- std::cout << "Teacher...\n";
- Teacher me{"Alexander", 38, "Step"}; // me.name(Human) me.age(Human) me.universityName(Teacher)
- me.print();
- //me.printTeacher();
- /* me.name = "Alexander";
- me.age = 38;*/
- //me.universityName = "STEP";
- //
- //Student student1;
- //student1.name = "Bill";
- //student1.age = 44;
- //student1.universityName = "STEP";
- //student1.avgGrade = 9.7;
- //student1.print();
- }
Add Comment
Please, Sign In to add comment