nakka soft world !
다중 상속 (multiple inheritance), 다이아몬드 상속 본문
728x90
다중 상속 (multiple inheritance)
struct A
{
int a;
};
struct B
{
int a;
int b;
};
struct C : public A, public B
{
int a;
int b;
int c;
};
int main()
{
C ccc;
ccc.a = 10; // error
ccc.A::a = 10; // ok
ccc.B::a = 10;
}
다이아몬드 상속
struct X
{
int x;
};
struct A : virtual public X // 가상상속, x 가 메모리 영역에 두번 들어 가지 앟고 한번만 들어 감
{
int a;
};
struct B : virtual public X // 가상상속, x 가 메모리 영역에 두번 들어 가지 앟고 한번만 들어 감
{
int b;
};
struct C : public A, public B
{
int c;
};
int main()
{
C ccc;
}
728x90
'프로그래밍언어 > C++' 카테고리의 다른 글
iostream, cin (0) | 2017.03.27 |
---|---|
예외 (Exception) (0) | 2017.03.27 |
RTTI ( Rut Time Type Information ) , dynamic_cast (0) | 2017.03.27 |
함수 바인딩과 가상함수의 원리 (0) | 2017.03.27 |
추상클래스와 인터페이스 (0) | 2017.03.27 |
Comments