본문 바로가기
01.Bit 단기/C++

33_상속,초기화,명시적접근,오버라이드

by chojju 2018. 5. 3.
반응형

#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

댓글