Interview Questions
Articles

Explain difference between a structure, union and class in C++

Classes vs structures in C++:

Classes and structures in C++ are same except class defaults to private and structures to public.

Both have data members, member function, this pointer, static member functions.
 

Difference between union, classes and structures in C++:

Union is also similar to classes and structures except:

1. unions cannot be used as base or derived class in inheritance
2. unions cannot have static members
3. defaults to public


Sample program showcasing unions in C++ similarities with classes in C++:

union personalInfo
{

  int id;
  char name[20];
  void print()
  {
    cout<<this->id;
  }

};

 

int main()
{
  union personalInfo me;
  me.id=10;
  me.print();
  return 0;
}