인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

twinlove11님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

12.7 순수 가상 함수, 추상 기본 클래스, 인터페이스 클래스

함수 리턴타입을 bool 타입으로 한 특별한 이유가 있는건가요?

작성

·

375

0

함수 bool 타입을 void로 바꿔도 결과는 동일한데 강의에서는 bool타입으로 하셔서요. 특별한 이유가 있는건가요? 코드 첨부하겠습니다.
 
#include <iostream> #include <string> using namespace std; class IErrorLog { public: virtual void reportError(const char * errorMessage) = 0; virtual ~IErrorLog() {} }; class FileErrorLog : public IErrorLog { public: void reportError(const char * errorMessage) override { cout << "Writing error to a file" << endl; } }; class ConsolErrorLog : public IErrorLog { public: void reportError(const char * errorMessage) override { cout << "priting error to a Consol" << endl; } }; void doSomething(IErrorLog & log) { log.reportError("Runtime error!!"); } int main() { FileErrorLog file_log; ConsolErrorLog console_log; doSomething(file_log); doSomething(console_log); return 0; }
 

답변 1

0

강민철님의 프로필 이미지

안녕하세요 :)

 

강의 내에서의 예제 코드는 특정 문자열을 출력하도록 형식만을 갖춘 코드이기 때문에,

질문자님의 코드대로 작성하셔도 무방합니다.

 

다만, 인터페이스 클래스가 무엇이며,

어떻게 동작하는지에 유의하시면 될 듯 합니다 :)

 

감사합니다.