C언어
c++ 공부 요점정리 29 다중 상속에 대한 이해
뮹실이
2013. 12. 9. 23:04
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | // ########################################## // // 46 다중 상속에 대한 이해 // // ########################################## // // 다중상속은 문법적 가치가 아주 낮아서 // 사용을 권장하지 않는다. // // // 다중 상속의 예 // using std::cout; using std::endl; ; ; ; int // // 다중 상속의 모호성 // using std::cout; using std::endl; ; ; ; int // // virtual base 클래스 예제 // // BBB, CCC 클래스가 AAA 클래스를 각각 상속하고 있는데 // DDD 클래스가 BBB 클래스와 CCC 클래스를 상속하게되어 // DDD 클래스의 객체 내에는 AAA 클래스를 상속하는 // BBB 클래스와 AAA 클래스를 상속하는 CCC 클래스를 // 가지게 된다. // 즉, AAA 클래스가 DDD 클래스속에 중복으로 존재하게 된다. // // using std::cout; using std::endl; ; ; ; ; int // 이러한 문제를 해결하기 위해서 // 추가된 개념이 있다. // BBB 클래스가 AAA 클래스를 가상으로 상속하고 // CCC 클래스가 AAA 클래스를 가상으로 상속할 때 // BBB 클래스와 CCC 클래스를 동시에 상속하는 // 클래스 내에서는 AAA 클래스를 한번만 선언한다. // 상속 선언시 virtual 을 선언해주면된다. // // using std::cout; using std::endl; ; ; ; ; int // // 이러한 다중 상속들은 사용하지 말아야한다.!!!! // |