Object Oriented Design Exercise 6
Inheritance and Output Formatting
1 Inheritance and Output Formatting
Please finish the implementation of class name and derived classes person and employee in the following code. Format the output neatly using setw() and or other setioflags features (Module 13).
#include
#include
using namespace std;
class name {
protected:
char *first, *last;
public:
name() {};
name(char *f, char *l)
{...}
virtual void info(){// formatted display of the information
}
};
class person : public name {
char gender;
int ssn;
public:
person() {};
person(char *f, char *l, char g, int s): gender(g), ssn(s),
name::name(f, l) {}
virtual void info() { // formatted display of the information
name::info();
... }
};
class employee : public person {
protected:
int payroll;
char *position;
public:
employee() {};
employee(char *f, char *l, char g, int s, int p, char *pos) {
...
void info() { // formatted display of the information
...
}
}
};
int main()
{
char fn[20], ln[20], pos[20];
char gen;
int s, pay;
name *worker;
for (int i=0; i<3; i++) {
}
cout << "Input the first name: " <> fn;
cout << "Input the last name: " <> ln;
cout << "Input the gender: " <> gen;
cout << "Input the social security number: " <> s;
cout << "Input the payroll: " <> pay;
cout << "Input the position: " <> pos;
worker = new employee(fn, ln, gen, s, pay, pos);
worker->info();
}
system("pause");
return 0;