polymorphism dr. leon jololian. dr.jololian2 class person { private: string name; int age; public:...
TRANSCRIPT
![Page 1: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/1.jpg)
Polymorphism
Dr. Leon Jololian
![Page 2: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/2.jpg)
Dr.Jololian 2
class Person {private:
string name;int age;
public:Person(string na, int ag);Person(string na);string getName();int getAge();void setName(string na);void setAge(int ag);void print();
};
![Page 3: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/3.jpg)
Dr.Jololian 3
class Student : public Person {private:
string major;float gpa;
public:Student(string na, int ag, string ma, float gp);string getMajor() { return major; }float getGpa() { return gpa; }void setMajor(string ma) { major = ma; }void setGpa(float gp) { gpa = gp; }void print();
};
![Page 4: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/4.jpg)
Dr.Jololian 4
#include "Student.h"
void main() {Person per("John Doe", 18);per.print();Student stu("Jane Smith", 19, "Business", float(3.8));stu.print();
Person* p;p = &per;p->setAge(21);p->print();
p = &stu;p->setAge(20);p->print();
}
![Page 5: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/5.jpg)
Dr.Jololian 5
Name: John DoeAge: 18Name: Jane SmithAge: 19Major: BusinessGPA: 3.8Name: John DoeAge: 21Name: Jane SmithAge: 20
Output
![Page 6: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/6.jpg)
Dr.Jololian 6
class Person {private:
string name;int age;
public:…virtual void print();
};
class Student : public Person {private:
string major;float gpa;
public:…void print();
};
Virtual Function
![Page 7: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/7.jpg)
Dr.Jololian 7
OutputName: John DoeAge: 18Name: Jane SmithAge: 19Major: BusinessGPA: 3.8Name: John DoeAge: 21Name: Jane SmithAge: 20Major: BusinessGPA: 3.8
![Page 8: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/8.jpg)
Dr.Jololian 8
class Employee : public Person {private:
string title;float salary;
public:Employee( string n, int a, string t, float s);//...void print();
};
![Page 9: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/9.jpg)
Dr.Jololian 9
Employee::Employee(string n, int a, string t, float s): Person(n, a) {
title = t;salary = s;
}
void Employee::print(){Person::print();cout << "Title: " << title << endl;cout << "Salary: " << salary << endl<<endl;
}
![Page 10: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/10.jpg)
Dr.Jololian 10
void main() {Employee emp("Bill Johnson", 25,
"Programmer", float(54325.0));
Person* p;emp.print();
p = &emp;p->print();
}
![Page 11: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/11.jpg)
Dr.Jololian 11
OutputName: Bill JohnsonAge: 25Title: ProgrammerSalary: 54325
Name: Bill JohnsonAge: 25Title: ProgrammerSalary: 54325
![Page 12: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/12.jpg)
Dr.Jololian 12
class Undergrad : public Student {private:
int year;public:
Undergrad(string n, int a, string m, float g, int y);
void print();};
![Page 13: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/13.jpg)
Dr.Jololian 13
Undergrad::Undergrad(string n, int a, string m, float g, int y) : Student(n, a, m, g) {year = y;
}
void Undergrad::print() {Student::print();cout << "Year: " << year << endl;
}
![Page 14: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/14.jpg)
Dr.Jololian 14
void main() {Person* p;
Undergrad und("Tom Jones", 19, "Accounting", float(3.99), 3);
und.print();
p = &und;p->print();
}
![Page 15: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/15.jpg)
Dr.Jololian 15
OutputName: Tom JonesAge: 19Major: AccountingGPA: 3.99Year: 3Name: Tom JonesAge: 19Major: AccountingGPA: 3.99Year: 3
![Page 16: Polymorphism Dr. Leon Jololian. Dr.Jololian2 class Person { private: string name; int age; public: Person(string na, int ag); Person(string na); string](https://reader036.vdocuments.site/reader036/viewer/2022082711/56649ee75503460f94bf8e39/html5/thumbnails/16.jpg)
Dr.Jololian 16