Шрифт:
Для того чтобы облегчить создание объектов класса
Если мы инициализируем объект класса
Мы решили проявить осторожность в отношении нулевых указателей (поскольку это обычный источник проблем) и пустых векторов.
Идея заключается в том, чтобы передавать вектор элементов. Мы выбрали класс
В заключение предусмотрим обработку встроенных массивов в ситуациях, в которых компилятор знает их размер.
Забавное выражение
Используя данный вариант класса
Мы видим улучшения.
• Код стал проще. Программисту редко приходится заботиться о размерах объектов, но когда это приходится делать, они задаются в специальном месте (при создании объекта класса
• Проблема с типами, связанная с преобразованиями
• Проблемы с неправильным количеством элементов объектов
• Потенциальная проблема с переменной max (и другими счетчиками элементов, необходимыми для использования указателей) становится явной — это единственное место, где мы должны явно указать размер.
• Использование нулевых указателей и пустых векторов предотвращается неявно и систематически.
25.4.4. Наследование и контейнеры
Что делать, если мы хотим обрабатывать коллекцию объектов класса