In general, a C++ class can be of union type, but such a class can't be derived from any other class.