What is the difference between a class and a struct in OOP?

Object Oriented Programming Questions



47 Short 36 Medium 25 Long Answer Questions Question Index

What is the difference between a class and a struct in OOP?

In object-oriented programming (OOP), the main difference between a class and a struct lies in their default access modifiers and their intended usage.

1. Default Access Modifiers:
- In a class, the default access modifier for its members (variables and methods) is "private". This means that the members are only accessible within the class itself.
- In a struct, the default access modifier for its members is "public". This means that the members can be accessed from outside the struct.

2. Intended Usage:
- Classes are typically used for creating complex objects that have both data and behavior. They are used to model real-world entities or concepts and support features like inheritance, encapsulation, and polymorphism.
- Structs, on the other hand, are primarily used for lightweight data structures that contain a small number of related variables. They are often used for representing simple data types (e.g., coordinates, points) and are more suitable for performance-critical scenarios.

Additionally, there are some technical differences between classes and structs in terms of memory allocation, default constructor behavior, and passing them as function parameters. However, the main distinction lies in their default access modifiers and intended usage.