СТЕНЛИ ЛИПМАН
Езикът С++
в примери
Object-Oriented
Programming
2
Драги читатели,
пред вас е първата от поредицата книги, посветени на
съвременните средства за програмиране, които започва да
издава Колхида Трейд КООП. Книгите са предназначени за
хора с интереси в областта на новите среди за програмиране.
Надяваме се, че с книгите от тази поредица ще получите
знания, които ще използвате в практиката.
© Copyright 1989 by AT&T Bell Laboratories
© Reprinted with corrections March, 1990
©
Татяна Станева Илиева, преводач, 1993
©
Илия Димитров Илиев, преводач, 1993
©
Илия Димитров Илиев, оформление на корицата, 1993
©
Всички права на това издание са запазени за Колхида Трейд КООП с изричното
съгласие на преводача
Печат Дунав-прес ООД Русе
3
СТЕНЛИ ЛИПМАН
Езикът С++ в примери
Превод от английски език
Татяна Илиева
Илия Илиев
Колхида Трейд КООП
София, 1993
4
Съдържание
Предговор................................................................................................................................11
Структура на книгата.........................................................................................................11
Бележки по реализацията...................................................................................................12
Благодарности.....................................................................................................................12
ГЛАВА 0..................................................................................................................................14
0.1
Решаване на задачи.......................................................................................................14
0.2
Програма на С++ ..........................................................................................................15
0.3
Запознаване с организацията на вход-изхода............................................................18
0.4
Коментари.....................................................................................................................21
0.5
Директиви на предпроцесора......................................................................................22
ГЛАВА 1..................................................................................................................................25
1.1
Константи......................................................................................................................26
1.2
Променливи...................................................................................................................27
Какво представляват променливите? ...............................................................................29
Име на променлива.............................................................................................................30
Дефиниране на променливи..............................................................................................31
1.3.
Указатели......................................................................................................................33
Указател към низ................................................................................................................36
1.4
Тип reference..................................................................................................................40
1.5
Константен тип.............................................................................................................41
1.6
Изброим тип данни.......................................................................................................44
1.7
Масиви...........................................................................................................................45
Многомерни масиви...........................................................................................................48
Връзка между указатели и масиви....................................................................................50
1.8
Класове..........................................................................................................................52
1.9
Описанието typedef.......................................................................................................61
ГЛАВА 2..................................................................................................................................63
2.1
Какво е това израз?.......................................................................................................63
2.2
Аритметични операции................................................................................................63
2.3
Операции за сравнение и логически операции..........................................................65
2.4
Операция за присвояване.............................................................................................66
2.5
Операциите "++" и "--".................................................................................................68
2.6
Операция sizeof.............................................................................................................71
2.7
Операция за условен израз (аритметичен if)..............................................................72
2.8
Побитови операции......................................................................................................73
5
2.9
Приоритет на операциите............................................................................................76
2.10
Преобразуване на типове...........................................................................................78
Автоматично преобразуване на типове............................................................................80
Преобразуване по желание на потребителя.....................................................................81
2.11
Оператори....................................................................................................................82
Съставни оператори и блокове..........................................................................................83
2.12
Управляващи оператори............................................................................................83
2.13
Оператор if ..................................................................................................................83
2.14
Оператор switch ..........................................................................................................88
Оператори за цикъл............................................................................................................90
2.15
Оператор while............................................................................................................91
2.16
Оператор for ................................................................................................................92
2.17
Оператор do.................................................................................................................93
Оператори за преход..........................................................................................................94
2.18
Оператор break............................................................................................................94
2.19
Оператор continue.......................................................................................................95
2.20
Оператор goto..............................................................................................................95
ГЛАВА 3..................................................................................................................................97
3.1
Рекурсия........................................................................................................................99
3.2 Inline-
функции............................................................................................................100
3.3
Строг контрол на типовете........................................................................................101
3.4
Резултат на функция...................................................................................................102
3.5
Списък от аргументи..................................................................................................104
Синтаксис на списъка от аргументи...............................................................................105
Специалната сигнатура "..." (Ellipses).............................................................................105
Сигнатура с инициализация............................................................................................106
3.6
Предаване на параметри............................................................................................108
3.7
Аргументи от тип reference........................................................................................110
3.8
Масив като аргумент на функция.............................................................................112
3.9
Области на действие...................................................................................................115
Операция за глобална дефиниция "::" .......................................................................116
Външни (extern) променливи...........................................................................................117
Статични (static) глобални променливи.........................................................................118
3.10
Локална област на действие....................................................................................119
Статични (static) локални променливи...........................................................................121
Регистрови (register) локални променливи....................................................................122
ГЛАВА 4................................................................................................................................123
6
4.1
Динамично разпределение на паметта.....................................................................123
4.2
Клас IntList (линеен списък). Примерна реализация..............................................128
4.3
Функции с еднакви имена..........................................................................................136
Защо са необходими функции с еднакви имена? ..........................................................136
Как се интерпретират функции с еднакви имена? ........................................................137
Кога не се създават функции с еднакви имена? ............................................................138
Разрешаване на двусмислието при функции с общо име.............................................140
Особености при точно съответствие..............................................................................141
Особености при съответствие чрез стандартно преобразувание.................................144
Съпоставяне на аргументи от тип reference...................................................................145
Съпоставяне на функции с няколко аргумента.............................................................145
Съпоставяне при сигнатура с инициализация...............................................................146
Функции с еднакви имена и области на действие.........................................................146
Предефиниране на операция new....................................................................................147
4.4
Указател към функция...............................................................................................148
Тип на указател към функция..........................................................................................148
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте