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


CRITICAL SKILL 10.4: Calling Base Class Constructors



Download 11,33 Mb.
Pdf ko'rish
bet145/194
Sana12.03.2022
Hajmi11,33 Mb.
#491693
1   ...   141   142   143   144   145   146   147   148   ...   194
Bog'liq
C A Beginner\'s Guide 2nd Edition (2003)

CRITICAL SKILL 10.4: Calling Base Class Constructors
When a base class has a constructor, the derived class must explicitly call it to initialize the base class 
portion of the object. A derived class can call a constructor defined by its base class by using an 
expanded form of the derived class’ constructor declaration. The general form of this expanded 
declaration is shown here:
derived-constructor(arg-list) : base-cons(arg-list); {
body of derived constructor
}
Here, base-cons is the name of the base class inherited by the derived class. Notice that a colon 
separates the constructor declaration of the derived class from the base class constructor. (If a class 
inherits more than one base class, then the base class constructors are separated from each other by 
commas.)
The following program shows how to pass arguments to a base class constructor. It defines a 
constructor for TwoDShape that initializes the width and height properties.


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


16 
C++ A Beginner’s Guide by Herbert Schildt 
Here, Triangle( ) calls TwoDShape with the parameters w and h, which initializes width and height using 
these values. Triangle no longer initializes these values itself. It need only initialize the value unique to it: 
style. This leaves TwoDShape free to construct its subobject in any manner that it so chooses. 
Furthermore, TwoDShape can add functionality about which existing derived classes have no 
knowledge, thus preventing existing code from breaking.
Any form of constructor defined by the base class can be called by the derived class’ constructor. The 
constructor executed will be the one that matches the arguments. For example, here are expanded 
versions of both TwoDShape and Triangle that include additional constructors:



Download 11,33 Mb.

Do'stlaringiz bilan baham:
1   ...   141   142   143   144   145   146   147   148   ...   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