342 __ ____ ___________Часть II. Программирование на C++

Действительно, для этого существует совершенно естественный способ. Вспомните главу 6 "Базовые типы данных и операции": операции преобразования — это специальные функции, возвращающие данные того типа, который ожидается по контексту использующей их подпрограммы. Эти контекстуальные преобразования часто реализуются как отдельные методы класса.

Соглашения о данных

Соглашений существует много —по-видимому, приблизительно столько же, сколько программистов. По одному из них рекомендуется все данные-члены класса делать закрытыми.

class DEMO ". .

{

public:

// ... открытые функции . protected:

// ... защищенные функции private:

// ... все данные

int d, e, f;

float g;

};

Поступив таким образом, вы должны предоставить пользователям функции, чтобы обеспечить доступ к этим данным (вспомните, что закрытые данные недоступны пользователям класса). Функции, имеющие единственным своим назначением доступ к данным, называются функциями доступа.

Есть достаточно веские причины к тому, чтобы закрывать данные-члены. Чтобы понять, в чем они состоят, задумайтесь: где находится самый большой источник ошибок в программах? В неправильном использовании данных, неважно, намеренном или нет. Располагая данные класса в закрытой области и обращаясь к ним через функции доступа, вы обеспечиваете себе полный контроль над использованием элементов ваших классов. Класс INT из раздела "Члены классов" демонстрирует пример простой функции ДОСТу-Па^еи().

Четыре элемента, о которых всегда необходимо помнить

До сих пор излагались, главным образом, общие положения. Но теперь настало время быть конкретными: в этом разделе вам будут представлены четыре основополагающих члена класса.