Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет317/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   313   314   315   316   317   318   319   320   ...   642
class monstr{

   public: int get_health();

   ...

};

class hero{

   public: int get_health();

   ...

};

class ostrich: public monstr, public hero{ 

   ...

};

int main(){ 

ostrich A;

cout << A.monstr::get_health(); 

cout << A.hero::get_health();

}

Мысалдан көрініп тұрғандай



get_health

 əдісін шақыру үшін ол 

сипатталған класты нақты түрде көрсету керек. Класс əдісін шақырудың 

қарапайым 



A.get_health()

 конструкциясын қолдану қателікке алып келеді

өйткені компилятор базалық кластардың қайсы əдісін пайдалану керек екенін 

түсіне алмайды.

15-1140



226

Егер базалық кластардың ортақ ата-тегі бар болса, онда осы базалық 

кластардан туындайтын класс ата-тегі өрістерінің екі данасын (экземплярын) 

мұралайды, бұлай болғаны жақсы емес. Мұндай жағдайдың алдын алу үшін 

ортақ ата-тегінен мұралау кезінде оны виртуалды класс ретінде анықтау керек:



Достарыңызбен бөлісу:
1   ...   313   314   315   316   317   318   319   320   ...   642




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет