• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

12.7 순수 가상 함수

23.01.24 21:11 작성 23.01.24 21:13 수정 조회수 276

1

강의가 잘 이해가 안가는데요

이번 강의는 이해되는거 같으면서도 좀 애매하네요 ㅠ

class IErrorLog

 

{

public:

virtual bool reportError(const char *errorMessage) = 0;

virtual ~IErrorLog(){}

};

 

void doSomething(IErrorLog &log)

{

log.reportError("runtime error!!");

}

 

doSomething에서 runtime error이거는 왜 쓴건가요?? 아무 말이나 써도 영향을 안주는 거 같아서요 어차피 dosomthing의 매개변수가 추상클래스 (IErrorLog)면 reportError 매개변수로 뭘 써놔도 의미없는게 맞나요?? 아니면 다른 용도가 있는 건가요? 디버깅에서는 그냥 들어갔다가 derivedclass의 override된 함수의 매개변수가 들어가면서 사라지던데요

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2023.01.26

매개변수로 어떤 것을 사용하시든 상관이 없는게 맞습니다.

사용하는 용례에 따라 필요한 매개변수로 정의하시면 됩니다.

강의 속 예제에서는 Error log를 출력하는 예제를 보여준 것이라고 볼 수 있습니다.