반응형
#include <iostream>
using namespace std;
class Musician
{
protected:
const string name;
public:
Musician(string _name) : name(_name)
{ }
public:
void Print()
{
cout << "이름 : " << name.c_str()<< endl;
}
};
//부모 맴버 변수 + 맴버 함수 상속
//자식은 추가로 확장 가능....
class Pianst : public Musician
{
int y;
public:
Pianst(int _y, string _name)
: y(_y), Musician(_name)
{ }
public:
//재정의(override)
//부모가 가지고 있던 맴버 함수를 동일하게 자식이
//만든다.(반환타입,이름,맴버변수들이 같다.)
void Print()
{
// cout << "이름 : " << name.c_str() << endl;
Musician::Print(); //부모의 함수를 명시적호출
cout << "경력 : " << y << endl;
}
};
int main()
{
Pianst *b = new Pianst(10, "홍길동");
b->Print();
b->Musician::Print(); //부모꺼 호출 가능?
delete b;
return 0;
}
반응형
'01.Bit 단기 > C++' 카테고리의 다른 글
35_다중상속 (0) | 2018.05.03 |
---|---|
34_상속확인 (0) | 2018.05.03 |
32_상속(부모멤버들의 접근지정변경) (0) | 2018.05.03 |
31_상속 (0) | 2018.05.03 |
30_C++ 삽입 삭제 수정 실습 (0) | 2018.05.03 |
댓글