메서드의 다형성 개요[디딤돌 C++]
//메서드의 다형성
#include <iostream>
using namespace std;
class Musician
{
public:
virtual void Play()//가상 메서드
{
cout<<"딩동댕"<<endl;
}
};
class Pianist:public Musician
{
};
class Drummer:public Musician
{
public:
void Play()//재정의
{
cout<<"두두둥"<<endl;
}
};
class Band
{
Musician *members[2];
public:
Band()
{
members[0] = new Pianist();
members[1] = new Drummer();
}
~Band()
{
for(int i = 0; i<2;i++)
{
delete members[i];
}
}
void Play()
{
for(int i = 0; i<2;i++)
{
members[i]->Play();
}
}
};
int main()
{
Band *band = new Band();
band->Play();
delete band;
return 0;
}
* 디딤돌 C++ 31. 다형성 개요에서
'C++ > 디딤돌 C++' 카테고리의 다른 글
메서드의 다형성 [디딤돌 C++] (0) | 2016.04.14 |
---|---|
형식의 다형성 [디딤돌 C++] (0) | 2016.04.14 |
형식의 다형성 개요[디딤돌 C++] (0) | 2016.04.14 |
무효화한 멤버 사용하기 [디딤돌 C++] (0) | 2016.04.14 |
무효화2 [디딤돌 C++] (0) | 2016.04.14 |