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



Download 1,38 Mb.
bet433/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   429   430   431   432   433   434   435   436   437
Bog'liq
word1

22 Зак. 3626

658 ПРИЛОЖЕНИЕ Г. Ответы


Упражнения



  1. Ниже показана иерархия наследования для абстрактного класса S hape и произво­ дных от него классов C i r c l e и T r ia n g le .

#include


using namespace std;


class Shape

{
public:




virtual double AreaO = 0;


virtual void Print() = 0;


class Circle

{
double Radius;




public:


Circle(double inputRadius) : Radius(inputRadius) {}


double Area()

{
return 3.1415 * Radius * Radius;


}


void Print()

{
cout « "Circle says hello!" « endl;


class Triangle

{
double Base, Height;




public:


Triangle(double inputBase, double inputHeight) : Base(inputBase), Height(inputHeight) {}


double AreaO

{
return 0.5 * Base * Height;


}


void Print()

{
cout « "Triangle says hello!" « endl;


}
};




int main()

{


Circle myRing(5);


Triangle myWarningTriangle(6.6, 2);













Ответы к занятию 12

659

cout

«

"Area

of

circle: " « myRing.Area() « endl;




cout

«

"Area

of

triangle: " « myWarningTriangle.Area() « endl;






myRing.Print();


myWarningTriangle.Print();


return 0;

}



  1. Отсутствует виртуальный деструктор!




  1. Без виртуального деструктора последовательность выполнения конструкторов была бы такой: V e h ic le (), затем С аг (), а виртуальный деструктор будет вызван только один -С аг ().

Ответы к занятию 12


Контрольные вопросы



  1. Нет, язык C++ не позволяет двум функциям с тем же именем иметь разные возвра­ щаемые значения. Вы можете создать две реализации оператора [ ] с идентичны­ ми типами возвращаемого значения, но один оператор определен как константная функция, и другой нет. В данном случае компилятор C++ выбирает не константную версию для действий, связанных с присвоением, и константную версию в против­ ном случае:



Туре& operator[](int Index) const; Type& operator[](int Index);

  1. Да, но только если я не хочу, чтобы мой класс позволил копировать или присваивать себя.




  1. Поскольку у него нет никаких динамически распределенных ресурсов, содержав­ шихся в пределах класса D ate, способных вызвать ненужные циклы резервирова­ ния и освобождения памяти в пределах конструктора копий или оператора присвое­ ния копии, этот класс не является хорошим кандидатом на наличие конструктора перемещения или оператор присваивания при перемещении.



Упражнения



  1. Оператор преобразования i n t (). class Date



{


int Day, Month, Year; public:


operator int()
{
return ((Year * 10000) + (Month * 100) + Day);

}


// конструктор и т.д



  1. ПРИЛОЖЕНИЕ Г. Ответы




    1. Конструктор перемещения и оператор присваивания при перемещении приведены ниже.



class Dynlntegers

{
private:




int* plntegers;


public:



  1. Конструктор перемещения Dynlntegers(Dynlntegers&& MoveSource)

{
plntegers = MoveSource.plntegers; // взять собственность MoveSource.plntegers = NULL; // освободить источник





Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   429   430   431   432   433   434   435   436   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