Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Либерти Джесс. Освой самостоятельно С++ за 21 день. - royallib.ru.rtf
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.55 Mб
Скачать

Вопросы и ответы

Что произойдет, если в массив из 24-х членов вписать значение для 25-го элемента?

Значение будет добавлено в ячейку памяти, не принадлежащую массиву, что может вызвать серьезную ошибку в работе программы.

Что представляют собой элементы неинициализированного массива?

Ячейки памяти, отведенные массиву но не инициализированные, могут содержать любую информацию, ранее сохраненную в этих ячейках. Результат обращения в программе к элементу массива, который не был инициализирован, не предсказуем.

Можно ли создавать комбинации массивов?

Да. Массив может содержать указатель на другой, более крупный массив. В случае работы со строками можно использовать некоторые стандартные функции, такие как strcat, чтобы создавать комбинации массивов символов.

Чем связанные списки лучше массивов?

Массивы всегда имеют фиксированный размер, тогда как размер связанного списка может изменяться динамически во время выполнения программы.

Всегда ли нужно в классе строк использовать указатель char * для сохранения содержимого строки?

Нет. Можно использовать любую область памяти, которая больше подходит для решения конкретных задач.

Коллоквиум

В этом разделе предлагаются вопросы для самоконтроля и укрепления полученных знаний и приводится несколько упражнений, которые помогут закрепить ваши практические навыки. Попытайтесь самостоятельно ответить на вопросы теста и выполнить задания, а потом сверьте полученные результаты с ответами в приложении Г. Не приступайте к изучению материала следующей главы, если для вас остались неясными хотя бы некоторые из предложенных ниже вопросов.

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

1. Как обратиться к первому и последнему элементам массива SomeArray[25]?

2. Как объявить многомерный массив?

3. Выполните инициализацию элементов многомерного массива, созданного при ответе на вопрос 2.

4. Сколько элементов содержит массив SomeArray[10][5][20]?

5. Каково максимальное число элементов, которые можно добавить в связанный список?

6. Можно ли в связанном списке использовать индексы?

7. Каким является последний символ в строке "Сергей — хороший парень"?

Упражнения

1. Объявите двухмерный массив, который представляет поле для игры в крестики и нолики.

2. Запишите программный код, инициализирующий значением 0 все элементы созданного перед этим массива.

3. Объявите класс узла Node, поддерживающего целые числа.

4. Жучки: что неправильно в следующей программе?

   unsigned short SomeArray[5][4];

   for (int i = 0; i<4; i++)

      for (int j = 0; j<5; ]++)

         SomeArray[i][j] = i+j;

5. Жучки: что неправильно в следующей программе?

   unsigned short SomeArray[5][4];

   for (int i = 0; i<=5; i++)

      for (int j = 0; j<=4; j++)

         SomeArray[i][j] = 0;

День 13-й. Полиморфизм

На прошлом занятии вы узнали, как создавать виртуальные функции в производных классах. На этом занятии речь пойдет об основном составляющем ядре полиморфизма — возможности во время выполнения программы связывать специфические объекты производных классов с указателями базового класса. Сегодня вы узнаете:

• Что такое множественное наследование и как его использовать

• Что представляет собой виртуальное наследование

• Что такое абстрактные типы данных

• Что такое чистые виртуальные функции