Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Вопросы по С++.
- 1. Что такое инкапсуляция?
- 2. Что такое полиморфизм? Виды полиморфизма? Чем задаются?
- 3. Что такое наследование?
- 4. Как задать функцию без параметров?
- 5. Что будет разделителем для строки cin>>? (Напр. для «Один два»).
- 6. Требуется ли явно указывать тип возвращаемого значения в return?
- 7. Как определить булев тип?
- 8. Как надо задавать включаемые библиотечные файлы в С++? Как использовать заголовочные файлы из C?
- 9. Как задать пространство имен в котором определены все библиотечные функции С++?
- 10. Как перегрузить функцию? Как это связано с полиморфизмом?
- 11. Какие функции нельзя перегрузить?
- 12. Описать варианты наследования базового класса и к каким членам в каждом случае будет иметь доступ наследник?
- 13. Структура программы на С++?
- 14. Что такое класс и что такое объект?
- 15. Какие члены класса не могут иметь инициализатор? (с. 254)
- 16. Какие ключевые слова нельзя использовать при объявлении членов класса?
- 17. Может ли объявление класса включать в себя его объект или указатель на его объект?
- 18. Когда имеет смысл объявлять переменные класса открытыми?
- 19. 2 отличия между структурами и классами?
- 20. Что такое POD? Какие признаки у POD?
- 21. Как определить класс с помощью слова union? Будет ли у него конструктор и деструктор? Какие особенности имеют его члены? Какой уровень доступа такой класс будет иметь по умолчанию? (с. 256)
- 22. 2 ограничения наложенных на такие классы?
- 23. Чего не могут содержать такие классы (4 случая)?
- 24. Как осуществляется доступ к членам безымянного объединения?
- 25. Чего не может содержаться в безымянных объединениях (2 случая)?
- 26. Как объявить глобальное безымянное объединение?
- 27. Когда могут быть особенно полезны дружественные функции (3 случая)? Как их объявить? К каким членам класса они имеют доступ? Можно ли сделать ее доступной просто в проге (использовать 2-ой прототип)?
- 28. Что такое неполное объявление класса?
- 29. Может ли дружественная функция быть членом другого класса?
- 30. Как это записать?
- 31. Ограничения на дружественные функции (2 случая)? (с. 261)
- 32. Может ли класс быть дружественным?
- 33. К каким типам данных он будет иметь доступ?
- 34. Можно ли через дружественный класс узнать значение данных из класса которому он дружественен? Через его объект? Как это записывается?
- 35. Что гарантирует применение слова inline?
- 36. Какие функции компилятор может запретить подставлять?
- 37. Какие есть варианты определения inline функций в классе?
- 38. Способы объявлений объектов у которых конструктор класса принимает параметры (2 варианта)?
- 39. В чем особенность создания объектов класса у которого конструктор с одним параметром?
- 40. В чем особенности статических членов класса?
- 41. Чем инициализируются статические переменные-члены класса по умолчанию и когда это происходит?
- 42. В чем особенность задания статических переменных-членов класса?
- 43. Как правильно их задавать?
- 44. Особенности статических функций-членов (5 случаев)? (с. 271) Какие варианты перегрузки возможны?
- 45. Можно ли присваивать значения статическим переменным класса до создания объектов этого класса?
- 46. Когда вызываются конструкторы глобальных объектов?
- 47. Когда вызываются деструкторы глобальных объектов?
- 48. Как обратиться к глобальной переменной, если в функции определена локальная переменная с таким же именем?
- 49. Можно ли определить один класс внутри другого?
- 50. Можно ли определить класс внутри функции?
- 51. Какие ограничения накладываются на локальные классы (3 случая)? (с. 275)
- 52. Сколько раз будет вызываться конструктор и деструктор объекта, если его один раз передавали функции по значению?
- 53. Какие могут возникнуть проблемы при передаче объекта в функцию по значению?
- 54. Может ли функция возвращать объект?
- 55. Что будет в этом случае возвращаться и какие могут возникнуть проблемы?
- 56. Можно ли присваивать объекты друг другу?
- 57. В каких случаях можно использовать сокращенную форму инициализации массива объектов?
- 58. Как выглядит полная форма инициализации массива объектов?
- 59. О чем надо помнить создавая массив неинициализированных объектов?
- 60. Можно ли присвоить указателю адрес какого-либо члена объекта?
- 61. Что передается практически любой функции класса? Каким функциям это не передается (2 случая)? (с. 285)
- 62. На какие члены производного класса можно ссылаться с помощью базового типа указателя?
- 63. Как получить доступ к остальным членам производного класса?
- 64. Особенности адресной арифметики ввиду динамического полиморфизма?
- 65. Что такое указатель на член класса?
- 66. Его синтаксис?
- 67. Пример использования?
- 68. Синтаксис использования ссылки?
- 69. Что будет: int y = 8; int &s = y; s++;?
- 70. Может ли функция стоять в левой части оператора присваивания? Когда это возможно?
- 71. Что происходит с объектом которого вернули по ссылке после завершения работы вернувшей его функции?
- 72. Что такое независимая ссылка?
- 73. Когда можно присваивать значение ссылке?
- 74. Можно ли присваивать ссылке на базовый класс объекты производных классов?
- 75. Ограничения на ссылки (4 случая)?
- 76. Что происходит если new не смог выделить требуемую память?
- 77. 3 причины почему new, delete лучше malloc, free? (с. 297)
- 78. Как проинициализировать память выделяемую new?
- 79. Как с помощью new выделить память для массива?
- 80. Как для массива правильно вызывать delete?
- 81. Как проинициализировать объект созданный с помощью new?
- 82. Как проинициализировать массивы созданные с помощью new?
- 83. Что нужно помнить о классах, размещая динамически массивы их объектов?
- 84. Заголовочный include для new?
- 85. Как записать new возвращающий нулевой указатель в случае неудачи распределения памяти?
- 86. Буферизованный new?
- 87. Является ли это перегрузкой функции: void f (int* p); void f (int p[]);?
- 88. Является ли это перегрузкой функции: void f(int a); и void f(const int a);? void f(int a); & void f(unsigned int a);? void f(int a); & void f(int &a);?
- 89. Форма записи конструктора копирования? Пример перегрузки?
- 90. 3 случая когда может использоваться конструктор копирования для присваивания?(с. 308)
- 91. Вызывается ли здесь конструктор копирования: A a; B b; a = b;?
- 92. Как создать указатель на функции: void f (int a. float f); void f (int a);?
- 93. Где можно задать параметры по умолчанию для функции?
- 94. Можно ли создать конструктор с параметрами заданными по умолчанию?
- 95. Неоднозначность (2 случая)?
- 96. Общий вид операторной функции-члена?
- 97. Как перегрузить + чтобы можно было написать (ob.a + ob.b).show();? Когда разрушится объект в скобках?
- 98. Примеры перегрузок -, =, ++x, x++, +=?
- 99. Ограничения налагаемые на перегруженные операторы (3 случая)?
- 100. Какие операторы нельзя перегружать (4 экземпляра)?
- 101. Какие перегруженные операторы наследуются производными классами, а какие нет? Можно ли их перегрузить в производном классе?
- 102. Как перегрузить оператор с помощью дружественной функции?
- 103. Какие операторы нельзя перегрузить с помощью дружественных функций (4 штуки)?
- 104. Как перегрузить операторы x++, ++x с помощью дружественных функций?
- 105. Как перегрузить оператор сложения объекта с числом?
- 106. Примеры перегрузки new и delete?
- 107. Примеры перегрузки new и delete для массивов?
- 108. Перегрузка new и delete без генерирования исключительной ситуации?
- 109. Какие ограничения есть на перегрузку (), [], -> (2 случая)?
- 110. Пример перегрузки []?
- 111. Пример перегрузки ()?
- 112. Пример перегрузки ->?
- 113. Пример перегрузки ,?
- 114. Какие виды доступа при наследовании бывают и как при этом трактуются данные различных видов доступа из базового класса в производном?
- 115. Форма записи при множественном наследовании?
- 116. Порядок вызова конструкторов и деструкторов в производном классе? Если он использовал множественное наследование?
- 117. Как передать параметры конструктору базового класса?
- 118. Правило объявления переменных базового класса в конструкторе производного?
- 119. 2 Способа повысить уровень доступа к членам базового класса? На все ли члены базового класса это распространяется?(с. 360)
- 120. Как повысить уровень доступа к функции базового класса?
- 121. Неоднозначность при множественном наследовании?
- 122. 2 способа обойти ее?
- 123. А если d1 virtual наследует, а d2 нет?
- 124. Форма записи виртуального наследования?
- 125. Виды полиморфизма? На чем основаны?
- 126. Можно ли в классе-наследнике написать реализацию виртуальной функции с другим числом параметров (лишние имеют значения по умолчанию)?
- 127. Будет ли работать полиморфизм при использовании ссылок на базовый класс?
- 128. 3 ограничения для виртуальных функций?
- 129. Наследуется ли атрибут виртуальности функции?
- 130. Если в Base virtual f(), d1:B f(), d2:d1, то что будет: Base *p = &d1; p->f(); Base *p = &d2; p->f(); d1 *p1; p1 = &d2; p1->f();?
- 131. Принцип иерархичности наследования относительно выбора реализации функции?
- 132. Форма объявления чисто виртуальной функции?
- 133. Что такое раннее связывание и что такое позднее связывание? Их плюсы и минусы?
- 134. Форма записи шаблонных функций?
- 135. Как называется конкретная версия шаблонной функции создаваемая компилятором?
- 136. Как называется процесс генерации конкретной функции?
- 137. Сколько вариантов шаблонной функции генерирует компилятор?
- 138. Как явно перегрузить обобщенную функцию (2 варианта)?
- 139. Как перегрузить шаблонную функцию?
- 140. Пример объявления обобщенного класса и его объекта?
- 141. Пример записи объявления функции обобщенного класса и ее реализации?
- 142. Можно ли создать реализацию шаблонного класса с пользовательским типом данных?
- 143. Пример обобщенного безопасного массива?
- 144. То же самое, но с заданием размера этого массива?
- 145. Какие типы можно использовать в качестве стандартных параметров для шаблонного класса, функции?
- 146. Правила передачи стандартных параметров шаблонного класса?
- 147. Пример использования аргументов по умолчанию в шаблонных классах?
- 148. Пример явной специализации класса?
- 149. 2 случая применения typename?
- 150. Использование слова export применительно к шаблонам?
- 151. Общий вид операторов try и catch?
- 152. Пример try, throw, catch?
- 153. Что будет если генерируется исключительная ситуация для которой не предусмотрена обработка?
- 154. Пример, когда может генерироваться исключение вне блока try?
- 155. Может ли catch располагаться не сразу за try?
- 156. Пример использования нескольких catch?
- 157. Как надо выполнять перехват исключения описанного с помощью базового и производного типов?
- 158. Как ввести перехват всех исключительных ситуаций?
- 159. Как можно грамотно его использовать вместе с перехватчиками остальных исключений?
- 160. Как запретить функции генерировать исключительные ситуации?
- 161. Область действия ограничения функции на исключительные ситуации?
- 162. Как повторно сгенерировать исключительную ситуацию?
- 163. Какие функции вызываются при неверной обработке исключительной ситуации? И в каких конкретно случаях?
- 164. Заголовок для функций terminate & unexpected?
- 165. Какие функции вызывают terminate & unexpected?
- 166. Как поменять обработчик для функций terminate & unexpected?
- 167. Чего не должны делать новые обработчики?
- 168. Как узнать перехвачена ли уже сгенерированная исключительная ситуация?
- 169. ?Поток. Его принцип деятельности?
- 170. 2 основных класса С++ для ввода/вывода?
- 171. Высокоуровневая иерархия?
- 172. Какие потоки открываются при начале выполнения программы?
- 173. 2 способа форматирования данных при вводе/выводе?
- 174. 18 флагов fmtflags?
- 175. Функция для установки флагов формата?
- 176. Можно ли применить ее сразу для всех потоков?
- 177. Функция для сброса флагов формата?
- 178. Перегруженная форма функции setf()?
- 179. Функция для определения текущего состояния флагов форматирования?
- 180. Как установить группу флагов?
- 181. Функции изменения ширины, точности и символа заполнения?
- 182. 32 манипулятора формата?
- 183. Заголовок для манипуляторов с параметрами?
- 184. Пример перегрузки оператора вставки?
- 185. Может ли перегруженная функция вставки быть членом класса?
- 186. Как с помощью перегруженной функции вставки вывести закрытые члены класса?
- 187. Пример перегрузки оператора извлечения?
- 188. Как проверить какой поток вызвал перегруженный оператор извлечения/вставки?
- 189. Как создать собственный манипулятор?
- 190. Заголовок для реализации файлового ввода / вывода?
- 191. Класс для низкоуровневого управления файловым потоком?
- 192. Как связать файловый поток с файлом?(2)
- 193. Отличие текстового от бинарного режима открытия файла?
- 194. Режимы открытия файла?
- 195. Режимы открытия по умолчанию?
- 196. Как проверить успешность открытия файла?(2)
- 197. Функция закрытия файла?
- 198. Функции чтения / записи символов для файла?
- 199. Как определить закончился ли файл при его чтении?
- 200. Функции чтения / записи блоков бинарных данных?
- 201. Как записать / считать структуру?
- 202. Что будет если конец файла обнаружится раньше чем read считает num символов?
- 203. Как определить число считанных символов?
- 204. Перегрузки get()?
- 205. Отличие get() от getline()?
- 206. Функция определения конца файла?
- 207. Функция пропуска части символов?
- 208. Как считать следующий символ в потоке не извлекая его?
- 209. Как вернуть обратно считанный символ?
- 210. Как принудительно записать данные из буфера в файл? Когда рекомендуется это делать?
- 211. Функции произвольного доступа к файлу?
- 212. О чем надо помнить применяя эти функции к текстовым файлам?
- 213. Как определить текущую позицию курсоров доступа к файлу?
- 214. Как получить информацию о статусе ввода / вывода?(2)
- 215. Как сбросить флаги ошибок?
- 216. Оператор определения типа объекта и его заголовок?
- 217. Функции – члены type_info?
- 218. Важное ограничение на typeid() в связи с полиморфизмом?
- 219. ? Разыменованный указатель.
- 220. Можно ли применять typeid() к ссылкам?
- 221. Как проверить является ли объект таким-то типом?
- 222. Применение typeid() к шаблонным классам?
- 223. 5 операторов приведения типов?
- 224. ? оператор динамического приведения типов?
- 225. Требование к его результирующему типу?
- 226. Для приведения каких типов он предназначен?
- 227. Как проверить успешность dynamic_cast?
- 228. Тип исключительной ситуации при typeid и dynamic_cast?
- 229. Какие типы к каким приводятся dynamic_cast-ом?
- 230. Приведение типов с typeid и dynamic_cast?
- 231. Можно ли использовать dynamic_cast для шаблонных классов?
- 232. Можно ли привести T<int>* к T<double>*?
- 233. Как заместить const & volatile? Пример? Пример с ссылкой?
- 234. Оператор для неполиморфного приведения?
- 235. Проверяет ли он приведение типов?
- 236. Как привести разные типы данных?
- 237. Общий вид объявления пространства имен?
- 238. 2 способа обращения к данным из пространства имен вне его?
- 239. Если создать объект класса namespace_name::some_class, нужно ли при его использовании ставить область видимости?
- 240. 2 варианта использования using?
- 241. ?Неименованное пространство имен. Синтаксис?
- 242. Зачем оно нужно?
- 243. Можно ли разделить пространство имен?
- 244. Пример?
- 245. Где можно объявлять пространство имен?
- 246. Пример использования вложенного пространства имен?
- 247. Как включить только часть функций из std?
- 248. ? Функция преобразования класса. Синтаксис?
- 249. Пример?
- 250. Можно ли задать несколько type()?
- 251. Как объявить константную функцию – член и в чем ее особенность?
- 252. Как разрешить ей изменять какой-либо член класса?
- 253. Функция volatile и ее особенности?
- 254. ? Явные конструкторы. Синтаксис?
- 255. Как инициализировать константы и ссылки в конструкторе?
- 256. Как проинициализировать члены класса, имеющего только конструктор с аргументами, в другом, содержащем его классе?
- 257. Порядок создания и инициализации членов класса?
- 258. Как вставить код на ассемблере?
- 259. Спецификация связей функции? Синтаксис?
- 260. В каких местах ее можно объявлять?
- 261. Как связать с программой сразу несколько функций?
- 262. ? Буферизованный ввод / вывод.
- 263. Заголовок для него?
- 264. Синтаксис ввода / вывода?
- 265. Как узнать сколько символов записано в массив?
- 266. Динамический массив вывода? Пример использования?
- 267. 9 отличий С от С++?
- 268. ? Контейнеры. 2 типа?
- 269. ? Алгоритмы.
- 270. ? Итераторы. 5 видов?
- 271. ? Обратный итератор.
- 272. ? Распределитель.
- 273. ? Предикат. 2 вида? Специальная разновидность бинарных предикатов?
- 274. 2 заголовка STL общего типа (для pair и для функторов)?
- 275. ? Функторы. 15 экземпляров? Зачем они нужны?
- 276. Еще 2 вида функторов?
- 277. ? Адаптер.
- 278. 11 контейнеров? Заголовки для них?
- 279. Основные переопределенные типы контейнерных классов(12)?
- 280. 4 конструктора vector<T>? Пример использования?
- 281. Ограничение на объекты, хранящиеся в векторе?
- 282. Функции вектора?(20)
- 283. Пример вектора с использованием итератора?
- 284. На что указывает итератор возвращаемый end()?
- 285. В каком месте вставляет элемент insert?
- 286. Пример со вставкой и удалением?
- 287. Когда можно не перегружать операторы объектов для вектора?
- 288. Пример вектора с объектами?
- 289. 4 конструктора списка?
- 290. 6 операторов определенных в списке?
- 291. Основные функции – члены списка?(28)
- 292. Что должны иметь объекты, хранящиеся в списке?
- 293. Пример вставки одного списка с объектами в другой?
- 294. 3 конструктора map?
- 295. 6 операторов определенных в map?
- 296. Требования к объектам – ключам в map?
- 297. Основные функции map?(17)
- 298. ? Pair.
- 299. Пример с map? Пример с make_pair?
- 300. Заголовок для алгоритмов?
- 301. Стандартные алгоритмы?
- 302. Алгоритмы подсчета элементов? (2) Примеры?
- 303. ? remove_copy(). Пример?
- 304. ? replace_copy(). Пример?
- 305. ? reverse(). Пример?
- 306. ? transform().Пример?
- 307. ? negate(). Пример?
- 308. ? divides().Пример?
- 309. Пример создания простого функтора?
- 310. 2 биндера для связи аргументов функтора с определенными значениями?
- 311. Пример биндеров с remove_it?
- 312. 2 негатора?
- 313. 3 «за» string?
- 314. Главный «против»?
- 315. 3 основных конструктора string?
- 316. 12 операторов string?
- 317. Можно ли в выражениях смешивать string и строки?
- 318. 2 варианта функции – члена string для присвоения строк?
- 319. 2 варианта функции – члена string для добавления строк?
- 320. 2 варианта функции – члена string для вставки строк?
- 321. 2 варианта функции – члена string для замены строк?
- 322. Функция – член для удаления символов в string?
- 323. Функции – члены string для нахождения первого и последнего вхождения подстроки в строку?
- 324. Функции – члены string для сравнения строк?
- 325. Функции – члены string для создания С – строки?
- 326. Можно ли применять к string контейнерные функции?
- 327. Можно ли хранить string в контейнерах?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement