NVI

[Effective C++] #37 가상 함수, 기본 매개변수 Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 6장 "상속, 그리고 객체 지향 설계", 항목 37 "어떤 함수에 대해서도 상속받은 기본 매개변수 값은 절대로 재정의하지 말자"에 해당하는 내용입니다. 가상 함수, 동적 바인딩 class Shape { public: virtual void Draw(ShapeColor color = Red) const = 0; enum ShapeColor { Red, Blue, Green }; ... }; class Rectangle : public Shape { virtual void Draw(ShapeColor color..
[Effective C++] #35 Public 가상 함수의 대안, NVI, 전략 패턴 Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 6장 "상속, 그리고 객체 지향 설계", 항목 35 "가상 함수 대신 쓸 것들도 생각해 두는 자세를 시시때때로 길러 두자"에 해당하는 내용입니다. 가상 함수 class someClass { public: virtual int virtualFunc() const; ... }; 가상 함수의 선언은 파생 클래스로 하여금 인터페이스와 기본 구현을 제공받도록 하고, 각 파생 클래스의 필요에 의해 재정의 할 수 있도록 해줍니다. 멤버 함수들의 인터페이스 상속과 구현 상속 관련 내용은 링크를 참..
Hardii2
'NVI' 태그의 글 목록