강의

멘토링

커뮤니티

Inflearn Community Q&A

nomadlearner1472's profile image
nomadlearner1472

asked

[MMORPG Game Development with C++ and Unreal Series] Part 1: Introduction to C++ Programming

얕은 복사 vs 깊은 복사 2에서 질문

Resolved

Written on

·

189

0

분명히 전에 설명해 주신것 같아서

CPP파일을 뒤지는데 어디서 설명해 주셨는지 모르겠어서 질문드립니다.

Knight& operator=(const Knight& knight) 

{

cout << "operator=(const Knight&)" << endl;

Player::operator=(knight);

_pet = knight._pet;

_hp = knight._hp;

return *this;

}

복사 대입 연산자 설명 부분에서 컴파일러가 아무것도 해주지 않으므로 

Player::operator=(knight);

_pet = knight._pet;

이런건 프로그래머가 적어줘야 한다고 하셨는데

여기서

Player::operator=(knight); 

이 문법 뜻이 뭐였는지 생각이 나지 않습니다.

혹시 어디서 설명하셨는지 혹은 무슨 의미인지 궁금합니다.

C++

Answer 2

1

Rookiss님의 프로필 이미지
Rookiss
Instructor

Player::operator=(knight); 

~는 Knight의 부모 클래스인 Player의 복사 대입 연산자를 직접 호출해주는 것입니다.
Knight도 Player의 기능을 상속받아 사용하는데,
그 부분들에 대한 복사도 처리해줘야 하기 때문이죠.

0

답변 감사합니다

nomadlearner1472's profile image
nomadlearner1472

asked

Ask a question