Avatar ·

¿Cuándo usar class y cuándo struct en C++? Reglas y mejores prácticas

¡Hola a todos! Recientemente comencé a estudiar C++ y me confundí con la elección entre class y struct. Aunque en C++ son casi iguales, veo que los programadores experimentados los usan de manera diferente. Por ejemplo, escribí este código para un punto en el plano: ```cpp struct Point { int x; int y; }; class Circle { private: int radius; public: Circle(int r) : radius(r) {} int getRadius() { return radius; } }; ``` Pero luego vi que alguien hace esto: ```cpp class Point2 { public: int x; int y; }; ``` Y no me quedó claro: ¿para qué usar class si todo es público? Y al revés, ¿por qué no hacer un struct con campos y métodos privados? He oído que hay una "regla general" (rule of thumb), pero no encuentro una explicación clara. ¿Cuándo debo elegir struct y cuándo class? ¿Hay convenciones o es solo cuestión de gusto? ¡Agradecería una respuesta detallada con ejemplos! <<>>

La diferencia principal: