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



Download 1,38 Mb.
bet147/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   143   144   145   146   147   148   149   150   ...   437
Bog'liq
word1

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




  1. Почему вы не можете присвоить константную ссылку неконстантной?




  1. new и d e l e t e — это функции?

Коллоквиум

1 9 9




  1. Каков характер значения, содержащегося в переменной указателя?




  1. Какой оператор используется для доступа к данным, на которые указывает указатель?



Упражнения



  1. Что будет отображено при выполнении этих операторов:




    1. int Number = 3;




    1. int* pNuml = &Number;




    1. _*pNuml =20;




    1. int* pNum2 = pNuml;




    1. Number *= 2;




    1. cout « *pNum2;

2 / В чем подобие и различие между этими тремя перегруженными функциями:




int DoSomething(int Numl, int Num2);


int DoSomething(int& Numl, int& Num2);


int DoSomething(int* pNuml, int* pNum2);



  1. Как изменить объявление указателя pNuml в строке 1 упражнения 1, чтобы сделать присвоение в строке 3 недопустимым? (Подсказка: это имеет некоторое отношение к обеспечению невозможности изменения данных, на которые указывает указатель pNuml.)




  1. О тладка: Что не так с этим кодом?



#include using namespace std; int main()

{
int *pNumber = new int; pNumber = 9;




cout « "The value at pNumber: " « *pNumber; delete pNumber;


return 0;

}



  1. О тладка: Что не так с этим кодом?



#include using namespace std; int main()



{


'



int pNumber = new int;



int* pNumberCopy = pNumber;


*pNumberCopy = 30;


cout « *pNumber;


delete pNumberCopy;


delete pNumber;


return 0;
}

6. Каков вывод приведенной выше программы после исправления?



ЧАСТЬ II



  1. ундаментальные



ПРИНЦИПЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ НА C++
ЗАНЯТИЕ 9. Классы и объекты


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


ЗАНЯТИЕ 11. Полиморфизм


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


ЗАНЯТИЕ 13. Операторы приведения


ЗАНЯТИЕ 14. Макросы и шаблоны
ЗАНЯТИЕ 9
Классы и объекты
До сих пор мы исследовали структуру простой программы, которая выполняет операторы в функции main (), позволяющие объявлять ло­ кальные и глобальные переменные, константы, структурировать логику выполнения в функциях, которые могут получать параметры и возвра­ щать значения. Все это очень похоже на такой процедурный язык, как



  1. у которого нет ориентации на объекты. Другими словами, пришло зремя узнать об управлении данными и методах, связанных с этим.

На сегодняшнем занятии.


■ Что такое классы.


■ Как классы позволяют объединить данные с методами (аналогом функций) для работы с ними.


■ Конструкторы, конструкторы копий и деструкторы.


■ Как язык С++11 позволяет улучшить производительность при помощи конструктора перемещения.


■ Объектно-ориентированные концепции инкапсуляции и абстракции.


■ Что такое указатель this.


■ Что такое структура и чем она отличается от класса.



  1. ЗАНЯТИЕ 9. Классы и объекты



Концепция классов и объектов

Предположим, вы пишете программу, моделирующую такого человека, как вы сами.





  1. человека должна быть индивидуальность: имя, дата рождения, место рождения и пол. Человек может выполнять определенные действия, например говорить и представляться другим людям. Таким образом, первая часть информации — это данные о человеке, а вто­ рая — это его функции (рис. 9.1).

Сущность человека

Данные

• Пол (Gender)

• Дата рождения (Date of birth)


• Место рождения (Place of birth)


• Имя (Name)


Методы

• Представиться() (lntroduceSelf())
РИС. 9.1. Общее представление человека

Чтобы смоделировать человека, нужна конструкция, позволяющая сгруппировать атри­ буты, определяющие человека (данные), и действия, которые он может выполнять (мето­ ды, подобные функциям), используя доступные атрибуты. Эта конструкция называется класс (class).



Download 1,38 Mb.

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