What are the differences between a struct and a class in
C++?
Answers were Sorted based on User's Feedback
Answer / rsn
Hello Shivani,
I think both struct and class in C++ are quite the same
except for the fact that, members in struct are public by
default whereas they are private for class.
Moreover struct also supports inheritance,polymorphism
etc...etc...
| Is This Answer Correct ? | 14 Yes | 0 No |
Answer / amit patel
Rsn answer is perfect write.Shivani you are wrong.
the visiblity of members default public in structure,
whereas in class its private as all know.
So please don't make myths here.
for the detail answer for explanation read the following link.
http://carcino.gen.nz/tech/cpp/struct_vs_class.php
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / ramesh kasi
The only difference is related to the default access
specifier.
The members of a structure have public access by default.
The members of a calss have private access by default.
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / supriya
Memory is alloated on Stack using Structure whereas in class its heap , that is it wont be stored at an contagious memory location.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ajit
In structures by default the member variables considered as
public where as in classes by default data members are
considered as private.
Structures doesn't provide the concept data encapsulation
but classes provides it.
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / shivani
In Class Members are private by default.
In Structure Member are public by default.
structures are value typed where as classes are refernce
typed
Class can be inherited But Structure can't be inherited
In structures we cannot initilase the variable during the
declaration while in classes we can.
Structure s does not support polymorphism while class does
Structure can be declared without a tag at the first time,
but not in case of class.
e.g. struct { variables; }(struct variable list); [It would
not raise any error while comlitation]
class { access specifier: variable list; access specifier:
vari....
}; [it will cause an error while compilation]
| Is This Answer Correct ? | 3 Yes | 6 No |
Answer / rajesh
shivani is wrong bec. structure is not inherited.
| Is This Answer Correct ? | 0 Yes | 6 No |
What is c++ code?
How can you prevent accessing of the private parts of my class by other programmers (violating encapsulation)?
Can we have "Virtual Constructors"?
What is name hiding in c++?
Is C++ case sensitive a) False b) Depends on implementation c) True
What is encapsulation in c++?
Const char *p , char const *p What is the difference between the above two?
Explain the auto storage classes in c++.
Is swift better than c++?
What is the arrow operator in c++?
What is optimization in c++? when using volatile.optimization is not possible..what does this mean?
What is constructor c++?