C++: a beginner's Guide, Second Edition


  C++ A Beginner’s Guide by Herbert Schildt  36



Download 11,33 Mb.
Pdf ko'rish
bet133/194
Sana12.03.2022
Hajmi11,33 Mb.
#491693
1   ...   129   130   131   132   133   134   135   136   ...   194
Bog'liq
C A Beginner\'s Guide 2nd Edition (2003)

35 
C++ A Beginner’s Guide by Herbert Schildt 


36 
C++ A Beginner’s Guide by Herbert Schildt 
The output from the program is shown here:
Original value of a: 1, 2, 3
Value after ++a: 2, 3, 4
Value after a++: 3, 4, 5
Value of a after b = ++a: 4, 5, 6
Value of b after b = ++a: 4, 5, 6
Value of a after b = a++: 5, 6, 7
Value of b after b = a++: 4, 5, 6


37 
C++ A Beginner’s Guide by Herbert Schildt 
Remember that if the ++ precedes its operand, the operator++( ) is called. If it follows its operand, the 
operator++(int notused) function is called. This same approach is also used to overload the prefix and 
postfix decrement operator relative to any class. You might want to try defining the decrement operator 
relative to ThreeD as an exercise.
As a point of interest, early versions of C++ did not distinguish between the prefix and postfix forms of 
the increment or decrement operators. For these old versions, the prefix form of the operator function 
was called for both uses of the operator. When working on older C++ code, be aware of this possibility.
1.
 
Operators must be overloaded relative to a class. True or false?
2.
 
How many parameters does a member operator function have for a binary operator?
3.
 
For a binary member operator function, the left operand is passed via ______.
CRITICAL SKILL 9.11: Nonmember Operator Functions
You can overload an operator for a class by using a nonmember function, which is often a friend of the 
class. As you learned earlier, friend functions do not have a this pointer. Therefore, when a friend is used 
to overload an operator, both operands are passed explicitly when a binary operator is overloaded, and 
one operand is passed explicitly when a unary operator is overloaded. The only operators that cannot be 
overloaded using friend functions are =, (), [ ], and –>.
The following program uses a friend instead of a member function to overload the + operator for the 
ThreeD class:



Download 11,33 Mb.

Do'stlaringiz bilan baham:
1   ...   129   130   131   132   133   134   135   136   ...   194




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