home *** CD-ROM | disk | FTP | other *** search
- //: C03:Union.cpp
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // The size and simple use of a union
- #include <iostream>
- using namespace std;
-
- union packed { // Declaration similar to a class
- char i;
- short j;
- int k;
- long l;
- float f;
- double d;
- // The union will be the size of a
- // double, since that's the largest element
- }; // Semicolon ends a union, like a struct
-
- int main() {
- cout << "sizeof(packed) = "
- << sizeof(packed) << endl;
- packed x;
- x.i = 'c';
- cout << x.i << endl;
- x.d = 3.14159;
- cout << x.d << endl;
- } ///:~
-