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



Pdf көрінісі
бет366/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   362   363   364   365   366   367   368   369   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

#include  

class X{ 

   public:

      virtual void fun(int a = 0){cout << a;}

};

class Y: public X{ 

   public:

      virtual void fun(int a = 1) {cout << a;}

};

int main(){

X *px = new X; 

px->fun();       // 0 шығарылады

X *py = new Y; 

py->fun();       // 0 шығарылады

}

Виртуалды емес əдістерді туынды кластарда қайталап анықтау қажет 

емес,  себебі туынды кластар базалық кластардың қасиеттерін мұралап алуы 

керек. Басқаша айтқанда, виртуалды емес əдіс специализацияға қатысты ин-

вариантты болып саналады, яғни туынды кластың қалай нақтыланатынына 

тəуелсіз базалық кластан мұралануы тиіс қасиеттерді бойында сақтайды. 

Туынды кластың специализациялануы жаңа əдістерді қосу жолымен жəне 

бұрыннан бар виртуалды əдістерді қайта анықтау арқылы орындалады.

Мұралаудың негізгі артықшылығы – базалық класс деңгейінде əмбебап 

код жазып, соның көмегімен виртуалды əдістер арқылы туынды кластардың 

объектілерімен жұмыс жасауға болады.

Мұралауға альтернативті түрде бір кластың екінші класты пайдалануы 

үшін енгізілген əдіс қабаттастыру болып табылады, мұнда бір класс басқа 

бір кластың өрісі болып саналады:





Достарыңызбен бөлісу:
1   ...   362   363   364   365   366   367   368   369   ...   642




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

    Басты бет