Программирование >>  Структурное программирование 

1 ... 152 153 154 [ 155 ] 156 157 158 ... 342


isEqualTo, isNotEqualTo, isGreaterThan, isLessThan, is-GreaterThanOrEqualTo, isLessThanOrEqualTo - каждая из них является предикатной функцией, которая просто возвращает 1 (истина), если соответствующее соотношение между двумя большими целыми выполняется, и О (ложь) - если оно не выполняется. Создайте предикатную функцию isZero. Если вы войдете во вкус, подготовьте также функции-элементы multiplayHugelntegers, divide-Hugelntegers и modulusHugelntegers.

6.16. Создайте класс TicTacToe, который предоставит вам возможность написать полную программу для игры в тик-так-тоу. Класс содержит как закрытые данные двумерный массив целых чисел 3 на 3, описывающий доску для игры. Конструктор должен присваивать нулевые начальные значения всем пустым полям. Играют два игрока. Помещайте 1 в клетку, указываемую при перемещении первым игроком, и 2 в клетку, указываемую вторым игроком. Каждое перемещение допустимо только на пустую клетку. После каждого перемещения определяйте, не выиграна ли игра или не получилась ли ничья. Если вы вошли во вкус, модифицируйте вашу программу так, чтобы компьютер выполнял перемещения за одного из игроков автоматически. При этом позвольте игроку указывать, хотел бы он или она ходить первым или вторым. Если же вы почувствовали исключительное увлечение, развивайте программу так, чтобы играть в трехмерный тик-так-тоу на доске 4 на 4 на 4 {Предупреждение: это чрезвычайно сложный проект, который может потребовать многонедельных усилий!).



глава

Классы: часть II

Цели

Научиться динамически создавать и уничтожать объекты.

Научиться определять константные объекты и функции-элементы.

Понять назначение дружественных функций и классов.

Понять, как используются статические данные-элементы и функции-элементы.

Понять концепцию классов контейнеров.

Понять принципы записи классов итераторов через элементы классов контейнеров.

Понять, как используется указатель this.



Резюме Терминология Типичные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Замечания по технике программирования Упражнения для самопроверки Ответы на упражнения для самопроверки Упражнения

7.1. Введение

в этой главе мы продолжим изучение классов и абстрагирования данных. Мы обсудим ряд сложных тем и заложим основы для обсуждения классов и перегрузки операций в главе 8. Затем в главах 9 и 10 мы познакомимся с наследованием и полиморфизмом - техникой истинно объектно-ориентированного программирования.

План

7.1. Введение

7.2. Константные объекты и функции-элементы

7.3. Композиция: классы как элементы других классов

7.4. Дружественные функции и дружественные классы

7.5. Использование указателя this

7.6. Динамическое распределение памяти с помощью операций new и delete

7.7. Статические элементы класса

7.8. Абстракция данных и скрытие информации

7.9. Пример: абстрактный тип данных массив

7.10. Пример: абстрактный тип данных строка

7.11. Пример: абстрактный тип данных очередь

7.12. Классы контейнеры и итераторы

7.13. Размышления об объектах: использование композиции и динамического управления объектом в модели лифта



1 ... 152 153 154 [ 155 ] 156 157 158 ... 342

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика