258
type_info(const type_info& rhs);
type_info& operator=(const type_info& rhs);
};
Мысалдағы
name
тəсілі
type_infо
типті объектімен сипатталатын типтің
атауын көрсететін жолға нұсқауышты қайтарады.
Виртуалды деструктор
type_infо
класын полиморфты етеді.
Көшіру конструкторы жəне меншіктеу операциясы
кездейсоқ көшіру
жəне класс объектілерін меншіктеу мүмкіндігін жою үшін
private
түрінде
жарияланған.
==
жəне
!=
операциялары екі объектіні теңдікке жəне теңсіздікке, ал
before
функциясы екі типтің атауларын əріп бойынша салыстыруға мүмкіндік береді.
Салыстыру үшін келесі түрдегі конструкция қолданылады:
typeid(Tl).before(typeid(T2))
Егер
T1
типтің
атауы
Т2
атауынан лексикографикалық түрде ертерек
орналасқан болса, нəтиже ақиқат болады.
Объектінің типі туралы нақты мəлімет программаның
орындалу барысын-
да, мысалы, программалаушы қандай да бір кітапханалық базалық кластың
функционалдылығын туынды класс көмегімен кеңейткен
кезде базалық класқа
виртуалды функцияларды енгізу мəнсіз немесе мүмкін емес болғанда қажет
болуы мүмкін. Мысалы:
#include
class B{
public: virtual ~B(){};
};
class C: public B{
public: virtual void some_method(){ ... };
};
Достарыңызбен бөлісу: