What is the difference between Class and Structure?

Answers were Sorted based on User's Feedback

Answer / swetcha

The difference between a class and a structure is that, by
default, all of the members of a class are private and, by
default, all of the members of a structure are public.

Is This Answer Correct ?    792 Yes 100 No

Answer / p govind rao

1) structure :- In structure have a by default public.
In class have a by default private.
2) Structure cannot be inherited. But class can be
3) There is no data hiding features comes with
structures. Classes do, private, protected and public.
4) A structure can't be abstract, a class can.
5) A structure is a value type, while a class is a
reference type.
6) A structure is contain only data member , but class
contain data member and member function.
7) In a Structure we can't initilse the value to the
variable but in class variable we assign the values.
8) Structure are value type, They are stored as a
stack on memory. where as class are reference type. They
are stored as heap on memory.

Is This Answer Correct ?    585 Yes 93 No

Answer / vadivel

i. Structure are value type where as class are reference
ii. Structure are default public where as class are default
iii. 'this' pointer will work only in class.

Is This Answer Correct ?    394 Yes 77 No

Answer / navin

Structure: Initially (in C) a structure was used to bundle
different type of data types together to perform a
particular functionality. But C++ extended the structure to
contain functions also. The major difference is that all
declarations inside a structure are by default public.
Class: Class is a successor of Structure. By default all
the members inside the class are private.

Is This Answer Correct ?    180 Yes 54 No

Answer / anshu sharma

Structure are value types and classes are reference types.So
structures use stack and classes use heap.
Structures members can not be declared as protected , but
class members can be.
You can not do inheritance in structures.
Structures do not require constructors while classes require

Is This Answer Correct ?    156 Yes 54 No

Answer / sundarchum

Structs are Value type. They are stored as a stack on
Class is reference type. They are stored as heap on memory.
Sturcts constructor must contain a parameter and cannot
have default constructor.
Class constructor may contain no parameter.
Struct cannot have instance field.
Class can have instance field.
Struct cannot inherit from a structure.
Class can inherit from a class.
Structs cannot declare a destructor.

Is This Answer Correct ?    101 Yes 49 No

Answer / mohanraj.d

1.structure is a value type.but class is a reference type.
2.structure is stored in stack.but class is stored in heap.
3.struct cannot have default constructor.
4.struct do not support inheritance.
5.class can inherit from a class.
6.struct cannot have declare destructor.
7.class has define object and function.
8.structure has define only object.

Is This Answer Correct ?    49 Yes 28 No

Answer / rakesh kumar

structure can not be declare privately but class can be
declared public as well as private.In structure data member
and member function are public by default and in class
these are private by default

Is This Answer Correct ?    58 Yes 39 No

Answer / lucky

1) classes can have data member as well as member function but structure is a data type which can have data member only.

Is This Answer Correct ?    40 Yes 30 No

Answer / suresh ghosh

1.class by default used private access specifier but structure used public.
2.class is reference type but structure is value type.
3.class used stack algorithm but structure used heap algorithm.
4.structure don't used public access specifier.
5.class used inheritance but structure don't.

Is This Answer Correct ?    12 Yes 7 No

Post New Answer

More C++ General Interview Questions

what is object?

7 Answers  

what is pulse code modulation?

2 Answers   Wipro,


5 Answers  

Difference between Constructors and static constructors?

3 Answers   TCS, IBM,

class X { public: int x; static void f(int z); }; void X::f(int y) {x=y;} What is the error in the sample code above? a) The class X does not have any protected members. b) The static member function f() accesses the non-static z. c) The static member function f() accesses the non-static x. d) The member function f() must return a value. e) The class X does not have any private members.

2 Answers   Quark,

What are the different operators in C++?

3 Answers   HP,

Write the program for fibonacci in c++?

20 Answers   Wipro, TATA,

What is difference between initialization and assignment?

12 Answers   Infosys, HCL, HP,

What is a constructor initializer list and when we use constructor initializer list?

3 Answers   TCS, Soft Info,

What are the basics of classifying different storage types, why?

2 Answers   Symphony, Astergate,

1.what is the difference between software & package &application.

1 Answers   Infosys,

what is the diff b/n c and c++ a. dynamic scoping b. nested switching c. declaration of variables in any code block d. separation of compilation and linking

2 Answers   Hughes,