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.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- 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++
- Difference between Web Content, Web Structure, and Web Usage Mining
- 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++
- Can a C++ class have an object of self type?
- Simulating final class in C++
- Why is the size of an empty class not zero in C++?
- Virtual base class in C++
Improved By : roopkatha