출처 : 반크_반크 20년 백서
참고풀이]
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
class Person {
string jop;
int age;
public:
Person(string j, int a):jop(j), age(a) {}
string getJop() { return jop; }
int getAge() { return age; }
void setJop(string j) { jop = j; }
void setAge(int a) { age = a; }
void eat() { cout << "먹을 수 있음.\n"; }
void talk() { cout << "말할 수 있음.\n"; }
void run() { cout << "걸을 수 있음.\n"; }
void Print()
{
cout << "나의 직업 : " << getJop() << endl;
cout << "나의 나이 : " << getAge() << endl;
eat();
talk();
run();
}
};
class Professor :public Person {
public:
Professor(string j, int a):Person(j,a) {}
void teach() { cout << "가르칠 수 있음.\n"; }
void Print()
{
cout << "나의 직업 : " << getJop() << endl;
cout << "나의 나이 : " << getAge() << endl;
run();
talk();
teach();
}
};
class TennisPlayer :public Person {
public:
TennisPlayer(string j, int a) :Person(j, a) {}
void playTennis() { cout << "테니스 경기를 할 수 있음.\n"; }
void Print()
{
cout << "나의 직업 : " << getJop() << endl;
cout << "나의 나이 : " << getAge() << endl;
run();
talk();
playTennis();
}
};
class Businessman :public Person {
public:
Businessman(string j, int a) :Person(j, a) {}
void runBusiness() { cout << "업무를 할 수 있음.\n"; }
void Print()
{
cout << "나의 직업 : " << getJop() << endl;
cout << "나의 나이 : " << getAge() << endl;
run();
talk();
runBusiness();
}
};
int main()
{
Professor f("교수", 39);
TennisPlayer t("테니스 선수", 23);
f.Print();
cout << "\n";
t.Print();
return 0;
}
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 봄
댓글