c++ - when does ambiguity arise in multiple inheritance? -


एकाधिक विरासत में अस्पष्टता कब उत्पन्न होती है?

जब आप विरासत के कई रास्तेों में बेस क्लास को दोहराया है और आप इसे डालने की कोशिश कर रहे हैं या इसके सदस्य फ़ंक्शन को कॉल कर रहे हैं।

  struct A { }; संरचना बी: ए {}; स्ट्रेट सी: ए {}; संरचना डी: बी, सी {}; // ने ए को बेस क्लास डी डी के रूप में दोहराया है; ए * ए = स्टेटिक_कास्ट & lt; A * & gt; (& amp; d); / Oops   

समस्या में कई उपाय हैं जो संदर्भ पर भारी निर्भर करते हैं (वर्चुअल आधार वर्गों का उपयोग करते हुए, केवल उपरोक्त कलाकारों को परिष्कृत करते हैं आदि)

अधिक जानकारी, विशेषकर।

Comments