이전게시판/C, C++
C++ 다중상속 문제점?
ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ
2016. 4. 4. 14:36
옛날부터 다중상속을 하면 어떻게 되는지 헷갈렸다.
그래서 A, B를 동시에 상속받은 C가 Func를 호출하게 했다.
Func함수는 A, B 클래스에 동시에 있으므로
결론은 error C2385: 'Func' 액세스가 모호합니다.' 가 뜬다.
호출하려면 어떤 클래스인지 명확하게 지정해주고 사용한다.
그러므로 C클래스 안에서 Print 함수를 만들어서 부모를 지정해준 뒤 함수를 호출하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #include <stdio.h> #include <windows.h> class A { public: int a; int b; A() { a = 100; b = 101; } void Func() { printf("A입니다 \n"); } }; class B { public: int a; int b; B() { a = 200; b = 201; } void Func() { printf("B입니다 \n"); } }; class C : public A, public B { public: }; void main() { C c; printf("%d %b \n", c.a(), c.b); getchar(); } | cs |