Информатика | Динамикалық идентификация

Информатика | Динамикалық идентификация

Динамикалық идентификация типтері.

Динамикалық идентификация типтерімен біз таныс емеспіз, өйткені олар полиморфты емес тілдерде болиады. Мысалы С және Basic секілді тілдерде.
Программа орындау барысында полиморфты емес тілдерде типтер туралы ақпарат алу керек емес. Алайда С++ секілді полиморфты тілдерде, программа толығымен іске қосылмағанынша обьектінің типі компиляцияға периодына белгілі емес болады. Біз білмейтініміздей С++ ирархия класын қолданғанда және базалық кластарда виртуальды, функция мен нұсқаушылар полиморфизмін тұрғызады.
Базалық класқа нұсқаушы ретінде осы базалық класындағы обьектілердің сілтемелері .шін қолдануға болады немесе кез-келген кластар обьектілерінде әрқашан алдын-ала белгілі бола бермейді.Олардың барлығы программаның орындалу барысында, яғни динамикалық идентификация типтерін қолданған кезде.
Прогамманы жасау барысында обьект типін анықтап алу үшін , typeid операторын қолданамыз. Ол үшін программаға басына қосу қажет. Кең таралған және қолданыста жүрген typeid типінің операторы:
Typeid(object)
Бұл жердегі object обьектінің мағнасы, яғни бізге керекті обьект типін алу үшін. Бұл жерде тек қана орнықты типті ғана емес, сонымен қатар кластық та типін ала аламыз.
Typeid операторы object обьектінің типін сипаттап,type-info обьектінің типінің сілтемесіне қайтарады.
type-info класында мынандай public мүшелері анықталған.
Bool operator==(const type_info &ob);
Bool operator!=(const type_info &ob);
Bool before (const type_info &ob);
Const char *name();
Жүктелінген операторлар “==”және ”!=” типтерді салыстаруға қызмет етеді. Before функциясы true мағнасын қайтарады, егер шақырылған обьект реті параметр ретінде қолданылған обьект алдында (обьект элементімен) тұрсын. Ал name()функциясы нұсқаушыны типтің атына қайтарады.Қарапайым typeid мысалын қарастырсақ.
Мысалы
# include
# include
Using namespace std;
class MyClass {
//…
};
int main()
{
int i , j;
float f;
MyClass ob;
// обьект типін алу үшін typeid операторын қолдану .....


Толық нұсқасын 30 секундтан кейін жүктей аласыз!!!


Әлеуметтік желілерде бөлісіңіз:
Facebook | VK | WhatsApp | Telegram | Twitter

Қарап көріңіз 👇



Пайдалы сілтемелер:
» Ораза кестесі 2024 жыл. Астана, Алматы, Шымкент т.б. ауыз бекіту және ауызашар уақыты
» Туған күнге 99 тілектер жинағы: өз сөзімен, қысқаша, қарапайым туған күнге тілек
» Абай Құнанбаев барлық өлеңдер жинағын жүктеу, оқу

Соңғы жаңалықтар:
» Биыл 1 сыныпқа өтініш қабылдау 1 сәуірде басталып, 2024 жылғы 31 тамызға дейін жалғасады.
» Жұмыссыз жастарға 1 миллион теңгеге дейінгі ҚАЙТЫМСЫЗ гранттар. Өтінім қабылдау басталды!
» 2024 жылы студенттердің стипендиясы қанша теңгеге өседі