Kuidas mitmetähenduslikkus esineb mitmikpärimisel?

Sisukord:

Kuidas mitmetähenduslikkus esineb mitmikpärimisel?
Kuidas mitmetähenduslikkus esineb mitmikpärimisel?

Video: Kuidas mitmetähenduslikkus esineb mitmikpärimisel?

Video: Kuidas mitmetähenduslikkus esineb mitmikpärimisel?
Video: Descubriendo el significado de la muerte según Heidegger: Reflexiones sobre la existencia humana 2024, November
Anonim

Mitme pärimise kasutamisel tekkiv ebaselgus viitab tuletatud klassile, millel on rohkem kui üks ülemklass, mis määratleb sama nimega atribuudi(d) ja/või meetodi(d)Näiteks kui 'C' pärib nii 'A' kui ka 'B' ning klassidest 'A' ja 'B', määratlevad mõlemad atribuudi nimega x ja funktsiooni nimega getx.

Mis on mitmikpärimise ebaselgus?

Ebaselgus esineb peamiselt mitme pärimise korral Kahel põhiklassil on sama nimega funktsioonid, samas kui mõlemast põhiklassist tuletatud klassil selle nimega funktsiooni pole. Kui kutsume funktsiooni tuletatud klassi objektiga, ei saa kompilaator aru, kumba kahest funktsioonist on mõeldud.

Kas mitme pärandi kontseptsioonis on ebaselgus?

Pärimise ebaselgust saab määratleda nii, et kui üks klass tuletatakse kahe või enama põhiklassi jaoks, siis on tõenäoline, et põhiklassidel on sama nimega funktsioone. Nii et sarnaste nimefunktsioonide hulgast valimine ajab tuletatud klassi segadusse.

Milline ebaselgus tekib mitmikpärimisel ja kuidas seda lahendada?

Ebaselgus võib tekkida kui samast põhiklassist on mitu teed klassini See tähendab, et alamklassil võib olla ühest põhiklassist päritud dubleeritud liikmete komplektid. Seda saab lahendada virtuaalse baasklassi abil. … Sellist baasklassi tuntakse virtuaalse baasklassina.

Mis on mitmetähenduslikkuse pärimine Kuidas saate näitega seletamisest üle?

Oletame näiteks, et kahel klassil nimega A ja B on mõlema liige nimega x ja klass nimega C pärib nii A-st kui ka B-st. Katse x-le juurdepääsuks klassist C oleks mitmetähenduslik. Ebaselguse saate lahendada, kvalifitseerides liikme selle klassi nimega, kasutades ulatuse eraldusvõime (::) operaatorit.

Soovitan: