Cтраница 4
В именах других идентификаторов сочетаются строчные и прописные буквы с символами подчеркивания. Имена функций, методов, классов, типов и структур должны начинаться с прописных букв. Переменные-члены или локальные переменные обычно начинаются со строчных букв. [46]
Если конструктор для какого-либо класса не определен, то компилятор генерирует конструктор по умолчанию. Такие конструкторы, сгенерированные компилятором, не присваивают начальные значения переменным-членам класса. Поэтому, если необходимо однозначно инициализировать переменные-члены или выполнить любые другие задачи инициализации, нужно определить собственный конструктор. [47]
Язык программирования C предлагает несколько способов ограничения области видимости и использования переменных и указателей. В предыдущих главах вы научились создавать глобальные переменные, используемые во всей программе, и локальные переменные, используемые в отдельных функциях. Вы узнали, что собой представляют указатели на переменные и переменные-члены класса. [48]
Поэтому они не могут объявляться со спецификатором const. Кроме того, поскольку функции-члены получают доступ к переменным-членам с помощью указателя this, статические функции-члены не могут использовать обычные нестатические переменные-члены. [49]
Статическая функция-член непосредственно может ссылаться только на статические переменные и статические функции, принадлежащие ее классу. Так как эту функцию можно вызвать без ссылки на экземпляр класса, статическая функция-член не имеет указателя this, содержащего адрес объекта. Следовательно, если она пытается получить непосредственный доступ к нестатическим переменным-членам, компилятор не сможет определить, какому объекту принадлежат переменные-члены. [50]
На профаммиста возложена ответственность за присвоение имен переменным-членам, функциям-членам и классам. Как упоминалось на занятии 3, всегда следует давать понятные и осмысленные имена. Например, Cat ( Кот), Rectangle ( Прямоугольник) и Employee ( Служащий) - вполне подходящие имена для классов, a Meow () ( Мяу), ChaseMiceO ( ДогониМышку) и StopEngineO ( ОстановкаДвигателя) - прекрасные имена для методов, поскольку из их названий понятно, что они делают. Это помогает отличить переменные-члены от переменных, не являющихся членами класса. [51]