반응형
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++ 함수 템플릿(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 |