Энциклопедия C++ Builder




ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ И C++ - часть 30


Этот механизм позволяет разбить приложение на ряд подсистем, причем каждая подсистема свободна в отношении выбора имен, и ее автор не должен беспокоиться о том, что такие же имена будет использовать кто-то другой. Каждая подсистема идентифицирует свое появление в общем пространстве глобальных имен уникальным идентификатором, который следует за ключевым словом namespace:

namespace

<идентификатор> { [<объявления>] } Существует три способа доступа к элементам идентифицированного пространства имен:

• Явная квалификация доступа к конкретному элементу:

ALPHA :: varl; // доступ к переменной из ALPHA BETA :: Fl; // доступ к функции из BETA

• Доступ ко всем элементам:

using namespace :: ALPHA; // доступ ко всем именам из ALPHA

• Объявление нового идентификатора в локальном пространстве имен:

using :: new_name; //

добавление идентификатора

3.6.2.3 Явные объявления

Обычно объектам класса, в котором объявлен конструктор с одним параметром, можно присвоить значения, тип которых автоматически (неявно) преобразуется к своему классовому типу. При объявлении конструктора можно использовать модификатор explicit:

explicit <объявление конструктора> Тогда при объявлении конструкторов данного класса с ключевым словом explicit всем объектам класса можно присвоить только те значения, тип которых явно преобразуется к классовому типу (Листинг 3.19). Другие присваивания приведут к ошибке компиляции.

class X

public:

explicit X(int);

explicit X(const char*, int = 0);

};

void f(X arg)

(

X a = X (1) ;

X b = Х("строка",0);

a = Х(2);

} :(

Листинг 3.19. Явные объявления конструкторов.

Явные объявления конструкторов требуют, чтобы значения в операторах присваивания были преобразованы к тому классовому типу, объектам которого эти значения присваиваются.

3.6.2.4 Непостоянные объявления

При объявлении переменной, которая может быть изменена фоновой задачей, обработчиком прерывания или портом ввода-вывода, используется модификатор volatile:

volatile <тип> <имя объекта>;




Содержание  Назад  Вперед