
// overriding.cpp
#include <iostream>
using namespace std;
class Person
{
protected:
string m_name;
public:
Person(string name)
{
m_name = name;
}
void sayHello()
{
cout << "Hello I'm " << m_name << endl;
}
};
class Musician : public Person
{
private:
string m_instrument;
public:
Musician(string m_name) : Person(m_name) {}
void sayHello()
{
cout << "Hi I'm " << m_name << endl;
cout << "I play the " << m_instrument << endl;
}
void sayHello(string lang)
{
if (lang == "ENG")
{
cout << "Hello!" << endl;
}
else
{
cout << "I can only speak in English..." << endl;
}
}
void setInstrument(string instrument)
{
m_instrument = instrument;
}
};
int main()
{
Musician m1 = Musician("Eric Clapton");
m1.setInstrument("guitar");
m1.sayHello();
m1.sayHello("ENG");
// cout << m1.m_name << endl;
return 0;
}
위 스크립트에서 결과가
Hi I'm Eric Clapton
I play the guitar
Hello!
이 아닌
Hello I'm Eric Clapton
Hello!
로 나오게 하려면 메인 함수를 어떻게 바꿔줘야 하나요?
그리고 개인적인 질문입니다만, 일반 소프트웨어 개발 업체에서 근무를 하려면 본강의에 있는 내용이 전부 완벽숙지가 되어야 하나요? 듣기로는 사용하는 것만 사용한다고 들었는데 보통 회사에서는 어떤 것들을 주로 사용하나요? 10강 이후로 어려워지는 속도가 급증하는 것 같네요..
