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



Download 1,38 Mb.
bet184/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   180   181   182   183   184   185   186   187   ...   437
Bog'liq
word1

myDinner.Swim();


return 0;

}


262 ЗАНЯТИЕ 10. Реализация наследования


Результат


Getting my food to swim


Tuna swims real fast


Анализ

Эта версия класса F is h немного отличается от тех, которые вы видели до сих пор. Кроме минимизации версией, для объяснения текущей проблемы данная версия класса F is h содержит два перегруженных метода Swim (): один не получает никаких параме­ тров (строки 6 -9), а другой получает параметр типа b o o l (строки 11-17). Поскольку класс Tuna наследуется от класса F is h открыто (строка 20), не будет ошибкой ожидать, что обе версии метода F i s h : : Swim () будут доступны через экземпляр класса Tuna. Однако в ре­ зультате того факта, что класс Tuna реализует собственную версию метода T u n a:: Swim () (строки 23 -26), функция F i s h :: Swim (b o o l) скрывается от компилятора. Если снять ком­ ментарий со строки 35, произойдет отказ компиляции.


Так, если необходимо вызвать функцию F i s h : : Swim (b o o l) через экземпляр класса Tuna, возможны следующие решения.





  1. Решение 1. Используйте оператор области видимости в функции m ain (): myDinner.Fish::Swim();

  2. Решение 2. Используйте в классе Tuna ключевое слово u s in g , чтобы показать скры ­ тые методы Swim () в классе F ish :

class Tuna: public Fish



{


public:


using Fish::Swim;

  1. показать скрытые методы Swim()




  1. в базовом классе Fish



void Swim()

{
cout « «Tuna swims real fast» « endl;


}
};


■ Решение 3. Переопределите все перегруженные варианты метода Swim () в классе


Tuna (если хотите, вызовите метод F i s h :: Swim ( . . . ) через T u n a :: F is h ( . . . ) ) :





Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   180   181   182   183   184   185   186   187   ...   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