Несколько полезных советов
Ниже представлен "свод правил", который стоит учитывать при изучении С++. Когда вы станете более опытными, то на базе этих правил сможете сформулировать свои собственные, которые будут более подходить для ваших задач и более соответствовать вашему стилю программирования. Сознательно выбраны очень простые правила, и в них опущены подробности. Не следует воспринимать их слишком буквально. Хорошая программа требует и ума, и вкуса, и терпения. С первого раза обычно она не получается, поэтому экспериментируйте! Итак, свод правил.
- Когда вы пишете программу, то создаете конкретные представления тех понятий, которые использовались в решении поставленной задачи. Структура программы должна отражать эти понятия настолько явно, насколько это возможно.
- Если вы считаете "нечто" отдельным понятием, то сделайте его классом.
- Если вы считаете "нечто" существующим независимо, то сделайте его объектом некоторого класса.
- Если два класса имеют нечто существенное, и оно является для них общим, то выразите эту общность с помощью базового класса.
- Если класс является контейнером некоторых объектов, сделайте его шаблонным классом.
- Если определяется класс, который не реализует математических объектов вроде матриц или комплексных чисел и не является типом низкого уровня наподобие связанного списка, то:
- Не используйте глобальных данных.
- Не используйте глобальных функций (не членов).
- Не используйте общих данных-членов.
- Не используйте функции friend.
- Не обращайтесь к данным-членам другого объекта непосредственно.
- Не заводите в классе "поле типа"; используйте виртуальные функции.
- Используйте функции-подстановки только как средство значительной оптимизации.