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


bool operator!=(const type_info& rhs) const



Pdf көрінісі
бет234/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   230   231   232   233   234   235   236   237   ...   466
Байланысты:
pavlovskaia-jogargy-dengeili

bool operator!=(const type_info& rhs) const; 
bool before(const type_info& rhs) const; 
const char* name() const; 
private:
1
Компиляторлардың ескі нұсқаларында бұл класс 
Type_info
немесе 
typeinfo
деп 
аталуы мүмкін.
17-1140


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(){ ... };
};


Достарыңызбен бөлісу:
1   ...   230   231   232   233   234   235   236   237   ...   466




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

    Басты бет