Cтраница 1
![]() |
Определение класса Point ( часть 1 из 5. [1] |
Данные-элементы х и у класса Point указаны как protected - защищенные. Это запрещает клиентам объектов класса Point прямой доступ к данным, но позволяет классам, порожденным классом Point, иметь непосредственный доступ к унаследованным данным-элементам. [2]
Данные-элементы класса обычно делаются закрытыми, а функции-элементы - открытыми. Некоторые функции-элементы могут быть закрытыми и играть роль функций-утилит для других функций класса. [3]
Данные-элементы класса ( переменные, объявленные в определении класса) и функции-элементы ( функции, объявленные в определении класса) имеют областью действия класс. Функции, не являющиеся элементом класса, имеют областью действия файл. [4]
Когда данные-элементы объекта выводятся в файл на диске, мы теряем, в известном смысле, информацию о типе объекта. Мы имеем только данные на диске, но не имеем информацию о типах этих данных. Если программе, которая собирается считывать эти данные, известно, какому типу объекта они соответствуют, тогда данные просто читаются в объект этого типа. [5]
Если класс содержит константные данные-элементы, конструктор этого класса должен быть обеспечен инициализаторами элементов. [6]
Отметим, что данные-элементы класса не могут получать начальные значения в теле класса, где они объявляются. Эти данные-элементы должны получать начальные значения с помощью конструктора класса или им можно присваивать значения через функции. [7]
Снова отметим, что данные-элементы hour, minute и second предваряются спецификатором доступа к элементам private. Эти закрытые данные-элементы класса обычно недоступны вне класса ( но, как мы увидим в главе 7, друзья класса могут иметь доступ к закрытым элементам класса. Глубокий смысл такого подхода заключается в том, что истинное представление данных внутри класса не касается клиентов класса. Например, было бы вполне возможно изменить внутреннее представление и представлять, например, время внутри класса как число секунд после полуночи. [8]
Производный класс обычно добавляет свои собственные данные-элементы и функции-элементы, так что производный класс в общем случае больше своего базового класса. Производный класс более специфичен по своему назначению, более узок, чем его базовый класс, и представляет меньшую группу объектов. При простом наследовании предполагается, что производный класс будет выполнять примерно те же функции, что и базовый класс. Истинная сила наследования заключается в способности определять в производном классе добавления, замены - или усовершенствования черт, унаследованных от базового класса. [9]
Производный класс обычно добавляет свои собственные данные-элементы и функции-элементы, так что производный класс в общем случае больше своего базового класса. Производный класс более специфичен по своему назначению, более узок, чем его базовый класс. [10]
Описание константной функции-элемента, которая изменяет данные-элементы объекта. [11]
![]() |
Использование класса Time с константными объектами и константными функциями-элементами ( часть 1 из 3. [12] |
Описание константной функции-элемента, которая изменяет данные-элементы объ екта. [13]
![]() |
Функции, не яфляющиеся друзьями или элементами, не могут иметь доступ к закрытым элементам класса ( часть 2 из 2. [14] |
Указатель this неявно используется для ссылки как на данные-элементы, так и на функции-элементы объекта. [15]