티스토리 뷰

C++/General

오버로딩과 오버라이딩

엘키 2008. 1. 22. 09:01
오버로딩(Overloading)에는 연산자 오버로딩, 메소드 오버로딩이 있는데, 이 중 메소드 오버 로딩을 말해보겠다.

메소드 오버로딩이란, 같은 이름의 메소드지만 파라미터가 다르면 다른 함수로 처리하여, 중복 정의를 허용하겠다는 것이다.
class CTest
{
public:
        void Print()
        {
               printf("CParent\n");
        }
 
        void Print(char *str)
        {
               printf(str);

        }

        void Print(int no)
        {
               printf("%d\n", no);
        }
};



오버라이딩(Overriding)이란, 부모 클래스에 이미 존재하는 함수를 덮어 쓴단 의미다. 오버라이드 하게 되면 자식 클래스에서는 부모 클래스의 Print 함수의 존재를 잊어 버리고, 자식 클래스의 Print 함수만 인식하게 된다.
class CParent
{
public:
        void Print()
        {
               printf("CParent\n");
        }
};

 

class CChild : public CParent
{
public:
        void Print()
        {
               printf("CChild\n");
        }

};

'C++ > General' 카테고리의 다른 글

winsock.h 중복 재정의 에러, error C2011: 'fd_set' : 'struct' type redefinition  (3) 2008.02.23
C++ Const 용법 정리  (4) 2008.01.31
Interlocked 계열 함수  (2) 2008.01.18
시간 관련 함수 모음  (0) 2008.01.17
오류의 원인  (0) 2008.01.14
댓글