Бьерн Страуструп - Абстракция данных в языке С++
Страница 16. Структуры и объединения


 

        Структуры и объединения

      Конструкции С s t r u c t и u n i o n допустимы, но они
  переросли в классы. Структура есть класс, все члены которого
  являются публичными, таким образом

        struct s ( ... );

  эквивалентно

      class s { hublic5 ... };

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

      union uu {
            int i;
            char *p;
            uu(int ii) { i = ii; }
            uu(char *pp) { p = pp; }
      };

      Это снимает большинство проблем, касающихся инициализации
  объединений. Например:

      uu u1 = 1;
      uu u2 = "asdf";

 
« Предыдущая статья   Следующая статья »