225
Абстрактылы класты анықтау кезінде келесі жағдайларды ескеру керек:
□ абстрактылы класты нақты түрде типтерді түрлендіру кезінде параметр
типін жəне функцияның қайтаратын мəнінің типін сипаттау үшін
қолдануға
болмайды;
□ егер инициалдау кезінде уақытша объект құрудың қажеті жоқ болса,
абстрактылы класқа сілтемелерді жəне нұсқауыштарды
жариялауға рұқсат
берілген;
□ егер абстрактылы кластан туындаған жаңа класс барлық таза виртуалды
функцияларды
анықтамайтын болса, ол да абстрактылы класс болып табылады.
Сонымен, параметрі абстрактылы класқа нұсқауыш болып табылатын
функция құруға болады. Программаның орындалу
кезінде бұл параметрдің
орнына кез келген туынды кластың объектісіне нұсқауышты беруге болады.
Бұл бір иерархия көлемінде кез келген типтегі объектімен жұмыс істейтін
по-
лиморфты функцияларды құруға мүмкіндік береді.
Көптік мұралау
Көптік мұралау кластың бірнеше базалық класы бар екендігін білдіреді.
Егер базалық кластарда атаулары
бірдей элементтер бар болса, онда иденти-
фикаторлар қайшылығы туындауы мүмкін, оны
көріну аймағына қол жеткізу
операциясының көмегімен жоюға болады:
class monstr{
public: int get_health();
...
};
class hero{
public: int get_health();
...
Достарыңызбен бөлісу: