C++ за 21 день седьмое издание


Перегрузка операторов равенства (=) и неравенства (!=)



Download 1,38 Mb.
bet219/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   215   216   217   218   219   220   221   222   ...   437
Bog'liq
word1

Перегрузка операторов равенства (=) и неравенства (!=)

Если пользователю нужно сравнить один объект класса D ate с другим, он ожидает воз­ можности применить следующий синтаксис:




if (Datel == Date2)

{
// Сделать нечто




else

{



// Сделать нечто другое

  1. ЗАНЯТИЕ 12. Типы операторов и их перегрузка




    1. отсутствии оператора равенства компилятор просто выполнит побитовое сравнение двух этих объектов и возвратит значение tr u e , если они абсолютно идентичны. Это могло бы сработать в некоторых случаях (включая класс D ate в нынешнем состоянии), но он, ве­ роятней всего, не сработает, как вы ожидали, если у рассматриваемого класса есть неста­

тический строковый член, содержащий такое строковое значение (c h a r* ), как M yS tring,





  1. листинге 9.9. В таком случае побитовое сравнение атрибутов класса фактически сравнит строковые указатели, которые не равны (даже если строки имеют идентичное содержи­ мое), и всегда будет возвращать значение f a l s e .

Таким образом, имеет смысл определить операторы сравнения. В общем виде выраже­ ние оператора равенства имеет следующий синтаксис:




bool operator== (const ТипКласса& сравнитьС)


{

  1. здесь код сравнения, возвращающий true при равенстве и false




  1. в противном случае

}


Оператор неравенства может повторно использовать оператор равенства:


bool operator!= (const ТипКласса& сравнитьС)


{
I I здесь код сравнения, возвращающий true при неравенстве и false //в противном случае
}

Оператор неравенства может быть инверсией (логическое NOT) результата операто­ ра равенства. Листинг 12.7 демонстрирует операторы сравнения, определенные в классе D ate .


ЛИСТИНГ 12.7. Операторы == и ! =________________________________________________






  1. Download 1,38 Mb.

    Do'stlaringiz bilan baham:
1   ...   215   216   217   218   219   220   221   222   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish