In C++, a structure is the same as a class except for a few differences. The most important of them is security. A Structure is not secure and cannot hide its implementation details from the end user while a class is secure and can hide its programming and designing details. Following are the points that expound on this difference:
1) Members of a class are private by default and members of a struct are public by default.
For example program 1 fails in compilation and program 2 works fine.
2) When deriving a struct from a class/struct, default access-specifier for a base class/struct is public. And when deriving a class, default access specifier is private.
For example program 3 fails in compilation and program 4 works fine.
Related Article: Difference between C structures and C++ structures
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- STL Priority Queue for Structure or Class
- Difference between Single Bus Structure and Double Bus Structure
- Difference between Abstract Class and Concrete Class in Java
- Difference between Base class and Derived class in C++
- How to convert a class to another class type in C++?
- Fork CPP | Course Structure
- Difference between Structure and Union in C
- C++ Stream Classes Structure
- Structure Sorting (By Multiple Rules) in C++
- Trie Data Structure using smart pointer and OOP in C++
- std::any Class in C++
- std::string class in C++
- std::hash class in C++ STL
- Array class in C++
- std:: valarray class in C++
Improved By : roopkatha