Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В мові С++ цикл for має дещо інший синтаксис, ніж цикл For в мові VB, але концепція залишається тою ж самою, якщо не зважати на те, що операція, яка виконується в кінці кожної ітерації, має бути вказана явно. Розглянемо наступний фрагмент програми на VB (знак одиночної лапки на початку рядка на VB означає рядок – коментар):
For i = 1 to 100
' Деякі дії
Next i
В С++ цей фрагмент виглядатиме так:
for (int i = 0; i < 10; i++)
{
// Деякі дії
}
10.3.4.3 Інструкція For Each
Аналог інструкції For Each мови VB є тільки в новій мові програмування С# і забезпечується інструкцією foreach, яка використовується для масивів, класів-колекцій та інших класів, що реалізують необхідний для цієї інструкції інтерфейс нумерації.
10.3.4.4 Інструкція Do Loop
В мові С++ існують дві циклічні конструкції, які замінюють інструкцію Do Loop мови VB. При використанні інструкції while цикл виконується, поки умова залишається істинною, а інструкція do while працює аналогічно за винятком того, що одноразове виконання циклу гарантовано навіть у тому випадку, коли умова хибна. Розглянемо наступний фрагмент програми на VB:
I = 1
fact = 1
Do While I <= n
fact = fact * I
I = I + 1
Loop
В С++ цей фрагмент приймає такий вигляд:
int I = 1;
int fact =1;
while (I <= n)
{
fact = fact * I;
I++;
}
10.3.4.5 Інструкція Select Case
Інструкція switch в мові С++ аналогічна інструкції Select Case в мові VB. Розглянемо наступний фрагмент програми на VB:
Select Case x
Case 1
F1
Case 2
F2
Case 3
F2
Case Else
F3
End Select
В С++ цей фрагмент виглядатиме так:
switch (x)
{
case 1:
F1();
break;
case 2:
case 3:
F2();
break;
default:
F3();
break;
}
10.3.4.6 Інструкція On Error
В мові С++ не існує аналога інструкції On Error, яка задає спосіб обробки виключень в програмах на мові VB.
РЕКОМЕНДОВАНА ЛИТЕРАТУРА
1. Б. Страуструп. Язык программирования С++. Специальное издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2004 г. 1104 с.
2. Харви Дейтел, Пол Дейтел. Как программировать на C++: Третье издание. Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2001. – 1152 с.
3. Шилдт, Герберт. Полный справочник по C++. 4-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 800 с.
4. Глушаков С. В., Коваль А. В., Смирнов С. В. Язык программирования C++. – Харьков: Фолио, 2002. – 500 с.
5. К. Паппас, У. Мюррей. Эффективная работа: Visual C++.NET. – СПб.: Питер, 2002. – 816 с.
6. Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си / Пер. с англ. Д. Б. Подшивалова и В. А. Иващенко. – М.: Финансы и статистика, 1985. – 279 с.
7. Г. Шилдт. Самоучитель C++ / Пер. с англ. 3-е изд. – СПб.:БХВ – Петербург, 2002. – 688 с.
8. Шефферд Джордж. Программирование на Microsoft Visual C++.NET /Пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2003. – 928 с.
9. Черносвитов А. Visual C++ 7: учебный курс. – СПб.: Питер, 2001. – 528 с.
10. Плаугер П., Степанов А., Ли М., Массер Д. STL – стандартная библиотека шаблонов C++ / Пер. с англ.. – СПб.: БХВ-Петербург, 2004. – 656 с.
11. Троелсен Э. C# и платформа.NET. Библиотека программиста. – СПб.: Питер, 2002. – 800 с.
12. Корнелл Г., Моррисон Дж. Программирование на VB.NET: учебный курс. – СПб.: Питер, 2002. – 400 с.
ВСТУП.. 2
1 БАЗОВІ ЕЛЕМЕНТИ МОВИ СИСТЕМНОГО ПРОГРАМУВАННЯ 4
1.1 Функції 5
1.2 Коментарі 5
1.3 Змінні і типи даних.. 6
1.4 Вказівники і масиви.. 8
1.5 Літерали.. 9
1.5.1 Логічні літерали. 9
1.5.2 Символьні літерали. 9
1.5.3 Цілі літерали. 10
1.5.4 Літерали з плаваючою крапкою.. 10
1.5.5 Рядкові літерали. 11
1.6 Вирази.. 11
1.7 Оператори.. 12
1.7.1 Оператори вводу – виводу. 18
1.7.1.1 Оператор вводу. 18
1.7.1.2 Оператор виводу. 19
1.8 Інструкції 20
2 РОБОТА З ДАНИМИ.. 23
2.1 Оголошення. 23
2.1.1 Синтаксис оголошення. 24
2.1.2 Оголошення декількох імен. 25
2.1.3 Ідентифікатори. 25
2.1.4 Область видимості імен. 27
2.1.5 Час життя об'єктів. 28
2.1.6 Ініціалізація об'єктів. 29
2.1.7 Специфікатори сталості змінних. 30
2.1.7.1 Специфікатор const 30
2.1.7.2 Специфікатор volatile. 30
2.1.8 Розміщення іменованих об'єктів в пам'яті 31
2.1.8.1 Регістрова пам'ять. Специфікатор register 31
2.1.8.2 Локальна пам'ять. Специфікатор auto. 32
2.1.8.3 Статична пам'ять. Специфікатор static. 32
2.1.8.4 Специфікатор extern. 33
2.1.9 Динамічна пам'ять. 35
2.1.9.1 Оператори new і delete. 35
2.1.9.2 Оператори new[] і delete[] 36
2.1.9.3 Обробка помилок виділення пам'яті 37
2.1.9.4 Автоматичне збирання сміття. 38
2.1.9.5 Фрагментація пам'яті 39
2.2 Вказівники.. 40
2.2.1 Вказівники та константи. 42
2.2.2 Вказівник на void. 43
2.3 Посилання. 44
2.4 Масиви.. 45
2.4.1 Ініціалізація масивів. 47
2.4.2 Вказівники й масиви. 48
2.4.3 Доступ до елементів масиву. 49
2.5 Типи даних користувача.. 51
2.5.1 Переліки. 51
2.5.2 Структури мови C.. 53
2.5.2.1 Вибір члена структури по імені об'єкту. 56
2.5.2.2 Вибір члена структури через вказівник на структурний об'єкт 57
2.5.2.3 Еквівалентність структурних типів. 57
2.5.2.4 Поля. 57
2.5.3 Об'єднання. 59
2.5.4 Оголошення typedef 61
2.6 Неявні приведення типів. 62
2.7 Явні приведення типів. 63
2.7.1 Традиційний стиль явного приведення типів. 63
2.7.2 Приведення типів в стилі мови C++.. 64
2.7.2.1 Оператор dynamic_cast 64
2.7.2.2 Оператор static_cast 65
2.7.2.3 Оператор reinterpret_cast 66
2.7.2.4 Оператор const_cast 66
3 ФУНКЦІЇ. ПРОЦЕДУРНЕ ПРОГРАМУВАННЯ.. 68
3.1 Оголошення функцій.. 68
3.2 Визначення функцій.. 69
3.2.1 Вмонтовані (inline) функції 70
3.3 Передача аргументів при виклику функції 71
3.3.1 Використання посилань як аргументів. 72
3.3.2 Масиви як аргументи. 73
3.3.3 Аргументи за умовчанням.. 74
3.3.4 Неоголошені аргументи. 75
3.4 Значення, що повертається функцією... 76
3.5 Рекурсивні функції 77
3.6 Перевантаження функцій.. 78
3.7 Вказівники на функцію... 81
3.8 Функція main() 83
3.8.1 Перехід від main() до _tmain() 84
3.9 Внутрішня реалізація викликів і повернень з функцій.. 84
3.9.1 Ключові слова __cdecl, __stdcall та __fastcall 85
3.9.2 Макрос WINAPI 86
3.10 Функції вводу – виводу мови C.. 86
3.10.1 Форматний ввід - вивід для стандартних потоків вводу і виводу 86
3.10.1.1 Функція printf() 87
3.10.1.2 Функція scanf() 91
3.10.2 Форматні перетворення в пам'яті. 93
3.10.3 Функції роботи з файлами. 93
3.10.3.1 Форматний ввід - вивід для файлів. 94
3.10.4 Функції посимвольного вводу – виводу. 94
4 ПРОГРАМУВАННЯ ВИКЛЮЧЕНЬ.. 96
4.1 Загальна схема обробки виключень. 96
4.1.1 Інструкція throw.. 96
4.1.2 Блоки try і catch. 97
4.1.3 Установка опції для включення механізму обробки виключень в програмах на Visual C++ 98
4.1.4 Приклад використання всіх інструкцій обробки виключень 98
4.1.5 Управління декількома різнотипними виключеннями. 100
4.2 Виключення Win32. 101
4.2.1 Обробка виключень Win32. 103
5 МОДУЛЬНЕ ПРОГРАМУВАННЯ.. 104
5.1 Простори імен.. 104
5.1.1 Інструкція namespace. Оператор розширення області видимості (::) 105
5.1.2 Інструкція using. 107
5.2 Роздільна компіляція. 108
5.2.1 Директива #include. 109
6 МАКРОЗАСОБИ. ПРОГРАМУВАННЯ НА АСЕМБЛЕРІ. 112
6.1 Директиви препроцесора.. 112
6.2 Директива #define. 113
6.2.1 Іменовані літерали. 113
6.2.2 Макроси. 114
6.3 Директива #undef. 116
6.4 Директиви умовної компіляції #if, #ifdef, #ifndef, #elif, #else і #endif 117
6.4.1 Оператор defined. 117
6.4.2 Використання директив умовної компіляції 118
6.5 Директива #error. 119
6.6 Директива #import. 120
6.7 Директива #line. 120
6.8 Директива #pragma.. 120
6.9 Директива #using.. 121
6.10 Програмування на Асемблері 122
6.10.1 Інструкція __asm.. 122
7 ОБ'ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ.. 124
7.1 Класи. Інкапсуляція. 124
7.1.1 Створення об'єктів класу. 127
7.1.2 Доступ до членів класу. 128
7.1.3 Інкапсуляція. 130
7.1.3.1 Переваги інкапсуляції 133
7.1.4 Конструктори. 134
7.1.4.1 Конструктори за умовчанням.. 136
7.1.4.2 Перевантажені конструктори. 137
7.1.4.3 Списки ініціалізації 138
7.1.5 Деструктори. 139
7.1.6 Виклики конструкторів і деструкторів. 141
7.1.7 Константні об'єкти і функції-члени класу. 141
7.1.8 Статичні члени класу. 143
7.1.9 Вбудовані функції-члени класу. 146
7.1.10 Вказівник this. 148
7.1.11 Масиви об'єктів. 150
7.1.12 Ієрархії об'єктів. 151
7.1.13 Структури і об'єднання в мові C++.. 152
7.2 Похідні класи. Спадкування. 153
7.2.1 Похідні класи. 153
7.2.2 Конструктори похідних класів. 156
7.2.3 Порядок виклику конструкторів і деструкторів. 157
7.2.4 Успадковані змінні 158
7.2.5 Правила спадкування. 160
7.2.6 Ієрархії класів. 161
7.2.7 Переваги спадкування. 162
7.2.8 Приклади бібліотек класів і множинне спадкування. 163
7.3 Віртуальні функції. Поліморфізм.. 163
7.3.1 Вказівники на базові класи. 164
7.3.2 Віртуальні функції 164
7.3.3 Поліморфізм.. 168
7.3.4 Застосування віртуальних функцій для управління об'єктами різних класів 168
7.3.5 Застосування віртуальних функцій для модифікації базових класів 170
7.3.6 Механізм перевизначення базових класів. 172
7.3.7 Конкретні й абстрактні класи. 173
7.3.8 Внутрішня реалізація віртуальних функцій та поліморфізму 175
7.4 Перевантаження операторів. 177
7.4.1 Приклад перевантаження оператора. 177
7.4.2 Визначення перевантажених функцій-операторів. 180
7.4.3 Дружні функції і класи. 181
7.4.4 Загальні принципи перевантаження операторів. 183
7.4.5 Конструктори копіювання і приведення. 184
7.4.6 Конструктори копіювання. 185
7.4.7 Конструктори приведення. 188
7.5 Динамічна ідентифікація типу.. 191
8 УЗАГАЛЬНЕНЕ ПРОГРАМУВАННЯ.. 194
8.1 Шаблони функцій.. 194
8.1.1 Створення екземпляра функції за шаблоном.. 196
8.1.2 Спеціалізація шаблонів функцій. 198
8.2 шаблони класів. 199
8.2.1 Роздільна реалізація функцій – членів шаблонів. 202
8.2.2 Створення об'єктів за шаблоном класів. 202
8.2.3 Конструктори та деструктори шаблонів класів. 204
8.2.4 Конкретизація і спеціалізація шаблонів класів. 207
8.3 Клас string.. 207
8.3.1 Основні конструктори. 210
8.3.2 Основні оператори. 210
8.4 STL - стандартна бібліотека шаблонів мови C++. 212
8.4.1 Контейнери. 212
8.4.2 Послідовності та ітератори. 214
8.4.3 Узагальнені алгоритми. 215
9 СИСТЕМА ВВОДУ-ВИВОДУ МОВИ C++. 218
9.1 Потоки вводу - виводу.. 218
9.2 Класи потокового вводу - виводу.. 219
9.3 Форматний ввід - вивід.. 220
9.3.1 Прапори формату. 220
9.3.2 Функції установки і очистки прапорів формату setf() та unsetf() 221
9.3.3 Функція читання і установки всіх прапорів формату flags() 223
9.3.4 Функції width(), precision() і fill() 224
9.3.5 Маніпулятори вводу - виводу. 226
9.4 Файловий ввід – вивід.. 229
9.4.1 Відкриття файлу. 230
9.4.2 Закриття файлу. 232
9.4.3 Функція eof() 233
9.4.4 Операції читання і запису для файлів. 233
9.5 Двійковий неформатний ввід - вивід.. 234
9.5.1 Основні функції двійкового вводу - виводу. 234
9.5.2 Додаткові функції двійкового вводу - виводу. 236
9.6 Довільний доступ.. 239
9.7 Контроль стану вводу - виводу.. 241
9.8 Системи вводу – виводу користувача.. 243
9.8.1 Функції виводу користувача. 243
9.8.2 Функції вводу користувача. 245
9.8.3 Маніпулятори користувача. 247
9.8.4 Ввід – вивід користувача і файли. 249
10 КЕРОВАНА МОВА C++ ТА ІНШІ МОВИ ПРОГРАМУВАННЯ ПЛАТФОРМИ MICROSOFT.NET 250
10.1 Керований C++. 250
10.2 Мова програмування C#. 252
10.2.1 Робота з об'єктами. 252
10.2.2 Інструкції 252
10.2.3 Атрибути. 253
10.2.4 Робота з версіями. 253
10.2.5 Організація програм.. 254
10.2.6 Відсутні в мові C# елементи. 254
10.3 Мова програмування Visual Basic.NET. 254
10.3.1 Інструкції мови VB.. 254
10.3.2 Типи даних та змінні 255
10.3.3 Оператори та вирази. 255
10.3.4 Управління послідовністю виконання інструкцій програми 256
10.3.4.1 Інструкція If Then. 256
10.3.4.2 Цикл For 257
10.3.4.3 Інструкція For Each. 257
10.3.4.4 Інструкція Do Loop. 257
10.3.4.5 Інструкція Select Case. 258
10.3.4.6 Інструкція On Error 259
РЕКОМЕНДОВАНА ЛИТЕРАТУРА.. 260
Дата публикования: 2014-11-03; Прочитано: 819 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!