C++ 고급 문법 (23) — 인터페이스(Interface)
Java나 C#에는 interface 키워드가 있지만 C++에는 없다. 대신 데이터 멤버 없이 순수 가상 함수와 가상 소멸자만 가진 추상 클래스를 인터페이스로 쓴다. 인터페이스를 두면 코드가 구체 클래스 대신 "이런 동작을 할…
Java나 C#에는 interface 키워드가 있지만 C++에는 없다. 대신 데이터 멤버 없이 순수 가상 함수와 가상 소멸자만 가진 추상 클래스를 인터페이스로 쓴다. 인터페이스를 두면 코드가 구체 클래스 대신 "이런 동작을 할…
지난 글에서 본 오버로딩으로 max를 만들면 int, double, std::string마다 본문이 똑같은 함수를 하나씩 복사해야 한다. 함수 템플릿(function template)은 타입을 매개변수로 받아 이 복사를 컴파일러에게 맡긴다. 대신 템플릿 인수 추론(template argument…