What is real difference between Class and Structure when you are dealing with Object Oriented Programming. This question is asked many times during my interviews for SE.

**Some people says that there is only one difference:**
Structure members are public by default and Class members are private by default.

**Some says there are many differences.**

**After reading many articles and forums, I have the following differences:**

Classes DEFAULT to having private members. Structures DEFAULT to having public members.

Structures are values type.
Classes are reference type.

Structure stores in memory via stack.
Classes stored in memory via heap.

Structure doesn’t support inheritance.
Classes support inheritance.

Constructor works in different way.

‘new’ operator works in different way.

Allocating memory for structure is very fast because this takes place inline or on the stack.

**What are your opinion on my above list or you have a different one. Thanks**