Страница:
328 из 357
*);
Все функции класса cl1 могут быть сделаны друзьями класа cl2 с помощью одного описания
class cl2 (* friend class cl1 ; // ... *);
Функция член, определенная (#10) в описании класса, яляется inline.
8.5.11 Функция Операция
Большинство операций могут быть перегружены с тем, чтобы они могли получать в качестве операндов объекты класса.
имя_функции_операции: operator операция
операция: одна из new delete + – * / % ^ amp; ! ~ ! = « » += -= *= /= %= ^= amp;= != «„ “» «„= “»= == != «= »= amp; amp; !! ++ – () []
Последние две операции – это вызов функции и индексирвание. Функция операция (за исключением operator new и operator delete; см. #7.2) должна быть или функцией членом, или получать по меньшей мере один классовый параметр. См. также #7.16. 8.5.12 Структуры
Структура есть класс, все члены которого общие. Это знчит, что
struct s (* ... *); эквивалентно
class s (* public: ... *);
Структура может иметь функции члены (включая конструктры и деструкторы). Базовй класс производной struct является открытым. Это значит, что
struct s : d (* ... *);
эквиволентно
class s : public b (* public: ... *);
8.5.13 Объединения
Объединение можно считать структурой, все объекты члены которой начинаются со смещения 0, и размер которой достаточен для содержания любого из ее объектов членов. В каждый момент времени в объединеии может храниться не больше одного из обектов членов. Объединение может иметь функции члены (включая конструкторы и деструкторы). Из объединения невозможно вывети класс.
|< Пред. 326 327 328 329 330 След. >|