[c++] 생성자와 소멸자의 상속 시 동작

오늘은 C++에서 생성자와 소멸자가 상속될 때의 동작에 대해 알아보겠습니다. 생성자와 소멸자의 상속은 객체 지향 프로그래밍에서 중요한 부분이며, 제대로 이해하지 않으면 예상치 못한 결과를 초래할 수 있습니다.

생성자의 상속

아래는 생성자 상속의 예시 코드입니다.

class Base {
public:
    Base() {
        std::cout << "Base 생성자 호출" << std::endl;
    }
};

class Derived : public Base {
public:
    Derived() {
        std::cout << "Derived 생성자 호출" << std::endl;
    }
};

위 코드에서 파생 클래스 Derived의 생성자가 호출될 때, 기본 클래스인 Base의 생성자가 자동으로 호출됩니다.

소멸자의 상속

다음은 소멸자 상속에 대한 예시 코드입니다.

class Base {
public:
    ~Base() {
        std::cout << "Base 소멸자 호출" << std::endl;
    }
};

class Derived : public Base {
public:
    ~Derived() {
        std::cout << "Derived 소멸자 호출" << std::endl;
    }
};

위 코드에서는 파생 클래스 Derived의 소멸자가 호출될 때, 기본 클래스인 Base의 소멸자도 자동으로 호출됩니다.

이제 생성자와 소멸자의 상속 시 동작에 대해 어느 정도 이해하셨을 것입니다. 생성자와 소멸자의 상속은 객체 지향 프로그래밍에서 중요한 개념이므로, 이를 잘 숙지하는 것이 중요합니다.

참고 자료

  1. cppreference.com - Inheritance
  2. GeeksforGeeks - Inheritance in C++
  3. C++ Inheritance