14.2.2. Ограничение прав на создание объекта
14.2.2. Ограничение прав на создание объекта
Доступность конструктора определяется тем, в какой секции класса он объявлен. Мы можем ограничить или явно запретить некоторые формы создания объектов, если поместим соответствующий конструктор в неоткрытую секцию. В примере ниже конструктор по умолчанию класса Account объявлен закрытым, а с двумя параметрами - открытым:
class Account {
friend class vector;
public:
explicit Account( const char*, double = 0.0 );
// ...
private:
Account();
// ...
};
Обычная программа сможет теперь определять объекты класса Account, лишь указав как имя владельца счета, так и начальный баланс. Однако функции-члены Account и дружественный ему класс vector могут создавать объекты, пользуясь любым конструктором.
* Конструкторы, не являющиеся открытыми, в реальных программах C++ чаще всего используются для: предотвращения копирования одного объекта в другой объект того же класса (эта проблема рассматривается в следующем подразделе);
* указания на то, что конструктор должен вызываться только в случае, когда данный класс выступает в роли базового в иерархии наследования, а не для создания объектов, которыми программа может манипулировать напрямую (см. обсуждение наследования и объектно-ориентированного программирования в главе 17).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Создание объекта для обмена данными между XML-файлом и формой
Создание объекта для обмена данными между XML-файлом и формой В отличие от рассмотренного выше сценария PhoneBook.wsf, в сценарии IEPhoneBook.js функции для работы с записной книжкой не будут разделены по разным заданиям, поэтому для более четкой организации сценария мы воспользуемся
Понятия объекта и экземпляра объекта
Понятия объекта и экземпляра объекта В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —
4.11.5. Ограничение сети
4.11.5. Ограничение сети В крупных сетях описывать каждый компьютер очень сложно. Для облегчения этой задачи можно использовать групповые записи. Например, вам надо разрешить выход в Интернет только для сети 192.168.1.x (с маской 255.255.255.0). Это значит, что первые 24 бита (первые три
Создание разделяемого объекта принтера
Создание разделяемого объекта принтера Основное различие между разделяемыми объектами файлов и принтеров состоит в том, что в описании последнего присутствует параметр printable = Yes или print ok = Yes (эти параметры являются синонимами). Каталог, указанный в определении объекта,
Понятия объекта и экземпляра объекта
Понятия объекта и экземпляра объекта В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —
П2.4. Ограничение доступа
П2.4. Ограничение доступа П2.4.1. Запрет доступа к сайту (или к списку сайтов) Предположим, что вам нужно запретить доступ к определенному сайту (или к списку сайтов). Для этого зайдите в раздел Биллинг | Клиенты | Фильтры | До группы (рис. П2.10). Выполните команду меню Действие |
П2.4.2. Ограничение скорости
П2.4.2. Ограничение скорости Для ограничения скорости работы того или иного пользователя выделите его в списке пользователей, нажмите правую кнопку мыши и выберите команду Свойства. Перейдите на вкладку Ограничения (рис. П2.14), снимите флажок По умолчанию в области
Настройка прав доступа к файлам и ограничение прав пользователей
Настройка прав доступа к файлам и ограничение прав пользователей В процессе работы на компьютере часто возникает необходимость защитить те или иные свои данные от неквалифицированного и несанкционированного просмотра и редактирования. Эта задача обычно возникает при
Ограничение
Ограничение Второй элемент формулы ОДП – дедлайн (от англ. deadline), или ограничение. Это может быть ограничение по времени (например, скидка 50 % только два дня) или по количеству (например, ценный подарок для первых 50 покупателей). Причем короткие по времени дедлайны работают
Ограничение CHECK
Ограничение CHECK Одним из наиболее полезных ограничений в базе данных является ограничение проверки. Идея его очень проста - проверять вставляемое в таблицу значение на какое-либо условие и, в зависимости от выполнения условия, вставлять или не вставлять данные.Синтаксис
Ссылочное ограничение
Ссылочное ограничение Ссылочное ограничение реализовано как FOREIGN KEY. Ограничение внешнего ключа существует только в контексте другой таблицы и уникального ключа этой таблицы, заданного явно или неявно в предложении REFERENCES при объявлении ограничения.Таблицы, связанные в
Ограничение NOT NULL
Ограничение NOT NULL Firebird не поддерживает атрибут указания допустимости пустого значения, как это делают некоторые нестандартные СУБД. В соответствии со стандартами все столбцы в Firebird могут содержать пустое значение, если не будет явно указано ограничение NOT NULL.
Ограничение PRIMARY KEY
Ограничение PRIMARY KEY PRIMARY KEY является ограничением целостности на уровне столбца - набор поддерживаемых правил, - которое формально отмечает столбец или группу столбцов как уникальный идентификатор для каждой строки в таблице.Если вы пришли в Firebird из СУБД, которые
Анатолий Вассерман: Ограничение прав Анатолий Вассерман
Анатолий Вассерман: Ограничение прав Анатолий Вассерман Опубликовано 04 февраля 2011 года К оглавлению