C++에서 다중 상속이란 무엇인가요?


C++에서 다중 상속은 클래스가 두 개 이상의 부모 클래스로부터 상속을 받는 것을 의미합니다. 이는 다른 클래스에서 상속받은 멤버 변수와 멤버 함수를 모두 사용할 수 있게 해줍니다.

예를 들어, 다음과 같이 두 개의 클래스 A와 B가 있을 때, C 클래스가 A와 B 클래스로부터 다중 상속을 받을 수 있습니다.

class A {
public:
    void foo() {
        cout << "A::foo()" << endl;
    }
};

class B {
public:
    void bar() {
        cout << "B::bar()" << endl;
    }
};

class C : public A, public B {
public:
    void foobar() {
        foo(); // A::foo() 호출
        bar(); // B::bar() 호출
    }
};

위의 예제에서 C 클래스는 A와 B 클래스로부터 상속받은 foo()와 bar() 함수를 모두 사용할 수 있습니다. 따라서 C 클래스의 foobar() 함수에서 A::foo()와 B::bar() 함수를 모두 호출할 수 있습니다.

다중 상속은 코드의 재사용성을 높이고 유연성을 높여주지만, 클래스 간의 관계가 복잡해질 수 있고, 다이아몬드 상속과 같은 문제가 발생할 수 있습니다. 따라서 다중 상속을 사용할 때는 상속 순서와 가상 상속 등을 고려해야 합니다.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.