Logo hy.boatexistence.com

Ինչպե՞ս է առաջանում անորոշությունը բազմակի ժառանգության մեջ:

Բովանդակություն:

Ինչպե՞ս է առաջանում անորոշությունը բազմակի ժառանգության մեջ:
Ինչպե՞ս է առաջանում անորոշությունը բազմակի ժառանգության մեջ:

Video: Ինչպե՞ս է առաջանում անորոշությունը բազմակի ժառանգության մեջ:

Video: Ինչպե՞ս է առաջանում անորոշությունը բազմակի ժառանգության մեջ:
Video: Քաղցկեղի 10 նախանշան, որոնք հարկավոր չէ անտեսել 2024, Մայիս
Anonim

Անորոշությունը, որն առաջանում է բազմակի ժառանգության օգտագործման ժամանակ, վերաբերում է ստացված դասին, որն ունի մեկից ավելի ծնող դաս, որը սահմանում է հատկություն[ներ] և/կամ մեթոդ[ներ] նույն անունով։Օրինակ, եթե «C»-ն ժառանգում է «A»-ից և «B»-ից և «A» և «B» դասերից, երկուսն էլ սահմանում են x անունով հատկություն և getx անունով ֆունկցիա:

Ի՞նչ է անորոշությունը բազմակի ժառանգության մեջ:

Անորոշությունը հիմնականում գալիս է բազմակի ժառանգություն Երկու բազային դասեր ունեն նույն անունով ֆունկցիաներ, մինչդեռ երկու բազային դասերից ստացված դասը չունի այս անունով գործառույթ: Երբ մենք ֆունկցիան կանչում ենք ստացված դասի օբյեկտով, ապա կոմպիլյատորը չի կարողանում պարզել, թե երկու ֆունկցիաներից որն է նկատի ունեցել:

Կա՞ որևէ երկիմաստության հնարավորություն բազմակի ժառանգության հայեցակարգում:

Անորոշությունը ժառանգության մեջ կարող է սահմանվել որպես այն դեպքում, երբ մեկ դասը ստացվում է երկու կամ ավելի բազային դասերի համար, ապա հավանականություն կա, որ բազային դասերն ունենան նույն անունով ֆունկցիաներ: Այսպիսով, այն կշփոթի ստացված դասը` ընտրելով նմանատիպ անունների գործառույթներից:

Ի՞նչ երկիմաստություն է առաջանում բազմակի ժառանգության մեջ և ինչպե՞ս կարող է այն լուծվել:

Անհստակություն կարող է առաջանալ երբ մի քանի ուղիներ կան դեպի դաս միևնույն բազային դասից Սա նշանակում է, որ երեխա դասը կարող է ունենալ մեկ բազային դասից ժառանգված անդամների կրկնօրինակ հավաքածուներ: Սա կարելի է լուծել՝ օգտագործելով վիրտուալ բազային դաս: … Նման բազային դասը հայտնի է որպես վիրտուալ բազային դաս:

Ի՞նչ է երկիմաստությունը ժառանգականությունը Ինչպե՞ս եք հաղթահարում, բացատրեք օրինակով:

Օրինակ, ենթադրենք, որ A և B անուններով երկու դասերը երկուսն էլ ունեն x անունով անդամ, իսկ C անունով դասը ժառանգում է և՛ A, և՛ B:C դասից x մուտք գործելու փորձը երկիմաստ կլինի: Դուք կարող եք լուծել անորոշությունը՝ որակավորելով անդամին իր դասի անունով՝ օգտագործելովշրջանակի լուծաչափը (::) օպերատորը:

Խորհուրդ ենք տալիս: