• CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다.
  • CSE207 수강생이 아니여도 편안하게 질문하세요.
  • 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다.

제목질문2019-11-22 20:44
작성자

class Text {

protected://이 밑에 적히는 변수는 부모클래스,자식클래스 모두의 private변수

string text;

public:

Text(string _text) :text(_text) {}

virtual string get()const = 0;//이자체가 객체가 될수없는 클래스가 되버림

virtual void append(string _t) = 0;//순수 가상함수(pure virtual function)


};

class FancyText :public Text//text 변수는 Base type 에서 protected였기때문에 private변수

{

private:

string left_bk;

string right_bk;

string connector;

public:

FancyText(string _text, string _left, string _right, string _con) :

text(_text), left_bk(_left), right_bk(_right), connector(_con) {}

string get()const override

{

return left_bk + text + right_bk;

}

};


자식 클래스에서 생성자 만들때 저렇게 쓰면 text 밑에 빨간줄 뜨는데 ,그이유를 잘모르겠습니다 ㅠ

부모함수가private가아니라 protected니까 text변수는 부모자식 모두에서 private변수인데 그러면 text라는 변수는 자식함수에서도 접근이 가능한거아닌가요? 왜꼭 부모의 생성자를빌려와야하죠?ㅠ

댓글
이전lab12 응용문제 4번 질문2019-11-23
다음sizeof() class 질문2019-11-22