클래스 상속자에서 부모 클래스에 저장된 값을 출력하려면

조회수 668회
#include <iostream>
#include <vector>
#include <string>
using namespace std;

enum EmployeeLevel { 사원, 대리, 과장, 차장, 부장 }; 
class Employee { 
    string name; 
    EmployeeLevel level; 
    public:
        Employee(const string &_name = "A", const EmployeeLevel &_level = 사원): name(_name), level(_level) {}
        string getName() {
            return name;
        }
        EmployeeLevel getLevel() {
            return level;
        }
        friend ostream& operator << (ostream& os, const Employee &e);
    }; 
class Manager : public Employee { 
    vector<Employee*> group;
    public: 
        Manager(const string &name, const EmployeeLevel &level) : Employee(name, level) {}
        void addEmployee(Employee* _group) {
            Employee* temp = new Employee;
            temp = _group;
            group.push_back(temp);
        }
        string getEmployeeName() {
            return getName();
        }
        EmployeeLevel getEmployeeLevel() {
            return getLevel();
        }
        friend ostream& operator << (ostream& os, const Manager &m);
    }; 

ostream& operator << (ostream& os, const Employee &e) {
    os << e.level << '\t' << e.name << endl;
    return os;
}
ostream& operator << (ostream& os, const Manager &m) {
    os << "List of employees managed by me" << endl;
    os << m.getEmployeeName() << '\t' << m.getEmployeeLevel() << endl;
    for (vector<Employee*>::const_iterator it = (m.group).begin(); it != (m.group).end(); it++) {
        os << (**it).getLevel() << '\t' << (**it).getName() << endl;
    }
    return os;
}

int main() {
    Employee e1("홍", 사원), e2("김", 대리), e3("차", 사원); 
    cout << e1 << e2 << e3;
    Manager m1("Tom", 차장); 
    m1.addEmployee(&e1);
    m1.addEmployee(&e2);
    m1.addEmployee(&e3);
    cout << endl << "Information for Manager" << endl; 
    cout << m1;
}

Manger 클래스를 바탕으로 << operator함수를 만들었는데,
os << m.getEmployeeName() << '\t' << m.getEmployeeLevel() << endl; 이 부분이 자꾸 오류가 발생합니다. 어떻게 고쳐줘야 하는걸까요? ㅠㅠ 클래스 상속을 오늘 배워서 예제를 연습해봤는데, 컴파일이 안되네요 ㅠㅠ

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)