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.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- 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
- C++ Stream Classes Structure
- Difference between Structure and Union in C
- Structure Sorting (By Multiple Rules) in C++
- Trie Data Structure using smart pointer and OOP in C++
- std::any Class in C++
- std::hash class in C++ STL
- std::string class in C++
- Array class in C++
- std:: valarray class in C++
- Why is the size of an empty class not zero in C++?
- Can a C++ class have an object of self type?
- Simulating final class in C++
- Virtual base class in C++
- Difference between namespace and class
Improved By : roopkatha