Logo no.boatexistence.com

Hvordan tvetydighet oppstår ved multippel arv?

Innholdsfortegnelse:

Hvordan tvetydighet oppstår ved multippel arv?
Hvordan tvetydighet oppstår ved multippel arv?

Video: Hvordan tvetydighet oppstår ved multippel arv?

Video: Hvordan tvetydighet oppstår ved multippel arv?
Video: Terrence Deacon Reveals the Hidden Connection: Consciousness & Entropy 2024, Kan
Anonim

Tvetydigheten som oppstår ved bruk av multippel arv refererer til en avledet klasse som har mer enn én overordnet klasse som definerer egenskap[er] og/eller metode[r] med samme navnFor eksempel, hvis 'C' arver fra både 'A' og 'B' og klassene 'A' og 'B', definerer begge en egenskap k alt x og en funksjon k alt getx.

Hva er tvetydigheten i multippel arv?

Tvetydighet kommer hovedsakelig i multiple inheritance To basisklasser har funksjoner med samme navn, mens en klasse avledet fra begge basisklassene ikke har noen funksjon med dette navnet. Når vi kaller funksjonen med avledet klasses objekt, kan ikke kompilatoren finne ut hvilken av de to funksjonene som er ment.

Er det noen sjanse for tvetydighet i konseptet med multippel arv?

Tvetydighet i arv kan defineres som når en klasse er avledet for to eller flere basisklasser, så det er sjanser for at basisklassene har funksjoner med samme navn. Så det vil forvirre avledet klasse å velge mellom lignende navnefunksjoner.

Hvilken tvetydighet oppstår ved multippel arv, og hvordan kan den løses?

En tvetydighet kan oppstå når det finnes flere stier til en klasse fra samme grunnklasse Dette betyr at en barneklasse kan ha dupliserte sett med medlemmer som er arvet fra en enkelt grunnklasse. Dette kan løses ved å bruke en virtuell basisklasse. … En slik grunnklasse er kjent som virtuell grunnklasse.

Hva er tvetydighetsarv Hvordan overvinner du forklare med eksempel?

Anta for eksempel at to klasser som heter A og B begge har et medlem som heter x, og en klasse som heter C arver fra både A og B. Et forsøk på å få tilgang til x fra klasse C ville være tvetydig. Du kan løse tvetydighet ved å kvalifisere et medlem med klassenavnet ved å bruke scope resolution (::)-operatoren.

Anbefalt: