Hoe onduidelikheid kom voor in meervoudige oorerwing?

INHOUDSOPGAWE:

Hoe onduidelikheid kom voor in meervoudige oorerwing?
Hoe onduidelikheid kom voor in meervoudige oorerwing?

Video: Hoe onduidelikheid kom voor in meervoudige oorerwing?

Video: Hoe onduidelikheid kom voor in meervoudige oorerwing?
Video: Multiple Inheritance in C++ with Ambiguity & Resolution | C++ programming for Beginners 2024, November
Anonim

Die dubbelsinnigheid wat ontstaan wanneer meervoudige oorerwing gebruik word, verwys na 'n afgeleide klas met meer as een ouerklas wat eiendom[s] en/of metode[s] met dieselfde naam definieerByvoorbeeld, as 'C' van beide 'A' en 'B' en klasse 'A' en 'B' erf, definieer beide 'n eienskap genaamd x en 'n funksie genaamd getx.

Wat is die dubbelsinnigheid in meervoudige oorerwing?

Dubbelsinnigheid kom hoofsaaklik in veelvuldige oorerwing Twee basisklasse het funksies met dieselfde naam, terwyl 'n klas afgelei van beide basisklasse geen funksie met hierdie naam het nie. Wanneer ons die funksie met afgeleide klas se objek noem, kan samesteller nie uitvind watter van die twee funksies bedoel word nie.

Is daar enige kans op dubbelsinnigheid in die meervoudige oorerwingsbegrip?

Dubbelsinnigheid in oorerwing kan gedefinieer word as wanneer een klas vir twee of meer basisklasse afgelei word, dan daar is kanse dat die basisklasse funksies met dieselfde naam het. Dit sal dus afgeleide klas verwar om uit soortgelyke naamfunksies te kies.

Watter dubbelsinnigheid ontstaan in meervoudige oorerwing en hoe kan dit opgelos word?

'n Dubbelsinnigheid kan ontstaan wanneer verskeie paaie na 'n klas vanaf dieselfde basisklas bestaan Dit beteken dat 'n kinderklas duplikaatstelle lede kan hê wat van 'n enkele basisklas geërf is. Dit kan opgelos word deur 'n virtuele basisklas te gebruik. … So 'n basisklas staan bekend as virtuele basisklas.

Wat is dubbelsinnigheid oorerwing Hoe oorkom jy verduidelik met voorbeeld?

Gestel byvoorbeeld dat twee klasse genaamd A en B albei 'n lid met die naam x het, en 'n klas genaamd C erf van beide A en B.'n Poging om toegang te verkry tot x vanaf klas C sal dubbelsinnig wees. Jy kan dubbelsinnigheid oplos deur 'n lid met sy klasnaam te kwalifiseer deurdie omvangresolusie-operateur (::) te gebruik.

Aanbeveel: