c++ 함수 뒤에 함수는 무슨 의미인가요?
글쓴이: ooreenara / 작성시간: 화, 2020/03/24 - 5:46오후
c++ 왕초보입니다.
사내의 구닥다리 소스로 공부하면서 작업도 하면서 그러고 있는데요.
문법공부를 따로 하지 않은 상태에서 하는거라 여간 힘든게 아니네요.
이 작업이 끝나고 나면 c++ 공부좀 해야겠습니다.
여쭤볼건... 아래 소스인데요.
SSL_CHAT::SSL_CHAT( CHAT *chat, string log ) : WEB_CHAT( chat )
SSL_CHAT 는 클래스이고 뒤에 함수는 알겠습니다.
그런데 뒤에 :WEB_CHAT(chat) 가 붙어있네요.
이건 무슨 의미인가요? 함수같은데... 함수를 참조해서 불러오는건가요? 오버라이딩 개념인지...
Forums:
그냥 함수가 아닙니다. special member
그냥 함수가 아닙니다. special member function 중 하나인 constructor(생성자)입니다.
생성자는 객체를 초기화하는 역할이 있으며, 그 과정에서 base instance(derived class인 경우)와 non-static member field를 초기화해야 합니다. 말씀하신 "함수 뒤에 함수"는 ctor-initializer이며, 바로 그 역할을 수행하기 위한 문법입니다.
문법만으로는 판단할 수 없지만, 예측하기로는 WEB_CHAT은 SSL_CHAT의 base class이며, 코드 어딘가에 WEB_CHAT 클래스가 정의되어 있을 겁니다.
거기에 보면 WEB_CHAT::WEB_CHAT(CHAT *chat) 생성자가 있을 텐데, 그 생성자를 호출한다고 보시면 되겠습니다.
댓글 달기