C_C++

C++ 클래스: 다중 상속에 관한 예제

고니자니 2024. 9. 28. 13:07
반응형

C++에서 다중 상속은 두 개 이상의 클래스로부터 상속받을 수 있는 기능입니다. 이 기능을 사용할 때 주의해야 할 점은 상속받는 클래스들에 동일한 이름을 가진 함수나 멤버 변수가 있을 경우, 모호성(ambiguity)이 발생할 수 있다는 것입니다. 이러한 모호성은 해결 방법으로 :: 연산자를 사용하거나, virtual 키워드를 사용해 가상 상속을 통해 해결할 수 있습니다.

다음은 다중 상속의 간단한 예제입니다.

#include <iostream>

// 첫 번째 부모 클래스
class Animal {
public:
    void sound() {
        std::cout << "Some generic animal sound" << std::endl;
    }
};

// 두 번째 부모 클래스
class Vehicle {
public:
    void move() {
        std::cout << "Vehicle is moving" << std::endl;
    }
};

// 자식 클래스: Animal과 Vehicle을 다중 상속
class FlyingCar : public Animal, public Vehicle {
public:
    void fly() {
        std::cout << "Flying car is flying" << std::endl;
    }
};

int main() {
    FlyingCar myFlyingCar;

    myFlyingCar.sound();  // Animal의 메서드 호출
    myFlyingCar.move();   // Vehicle의 메서드 호출
    myFlyingCar.fly();    // FlyingCar의 메서드 호출

    return 0;
}

(Output)

Some generic animal sound
Vehicle is moving
Flying car is flying

C++ 다중 상속에 관한 예제

 

반응형

'C_C++' 카테고리의 다른 글

C++ 함수 템플릿(Function Template)  (0) 2024.10.06
C++: 윤년 구하기  (0) 2024.10.01
scanf 함수 반환값  (3) 2024.08.24
(C언어) 달력 만들기(한 달)  (1) 2024.07.07
(C언어) 달력 만들기 (1년)  (0) 2024.07.06