342 __ ____ ___________Часть II. Программирование на C++
Действительно, для этого существует совершенно естественный способ. Вспомните главу 6 "Базовые типы данных и операции": операции преобразования — это специальные функции, возвращающие данные того типа, который ожидается по контексту использующей их подпрограммы. Эти контекстуальные преобразования часто реализуются как отдельные методы класса.
Соглашения о данных
Соглашений существует много —по-видимому, приблизительно столько же, сколько программистов. По одному из них рекомендуется все данные-члены класса делать закрытыми.
class DEMO ". .
{
public:
// ... открытые функции . protected:
// ... защищенные функции private:
// ... все данные
int d, e, f;
float g;
};
Поступив таким образом, вы должны предоставить пользователям функции, чтобы обеспечить доступ к этим данным (вспомните, что закрытые данные недоступны пользователям класса). Функции, имеющие единственным своим назначением доступ к данным, называются функциями доступа.
Есть достаточно веские причины к тому, чтобы закрывать данные-члены. Чтобы понять, в чем они состоят, задумайтесь: где находится самый большой источник ошибок в программах? В неправильном использовании данных, неважно, намеренном или нет. Располагая данные класса в закрытой области и обращаясь к ним через функции доступа, вы обеспечиваете себе полный контроль над использованием элементов ваших классов. Класс INT из раздела "Члены классов" демонстрирует пример простой функции ДОСТу-Па^еи().
Четыре элемента, о которых всегда необходимо помнить
До сих пор излагались, главным образом, общие положения. Но теперь настало время быть конкретными: в этом разделе вам будут представлены четыре основополагающих члена класса.