Avatar ·

Quando usar class e quando usar struct em C++? Regras e melhores práticas

Olá a todos! Comecei recentemente a estudar C++ e fiquei confuso sobre a escolha entre class e struct. Aparentemente, em C++ eles são quase iguais, mas vejo que programadores experientes os usam de forma diferente. Por exemplo, escrevi este código para um ponto no plano: ```cpp struct Point { int x; int y; }; class Circle { private: int radius; public: Circle(int r) : radius(r) {} int getRadius() { return radius; } }; ``` Mas depois vi alguém fazendo assim: ```cpp class Point2 { public: int x; int y; }; ``` E fiquei sem entender — por que usar class se tudo é público? E, ao contrário, por que não fazer um struct com campos e métodos privados? Ouvi dizer que existe uma "regra de ouro" (rule of thumb), mas não consigo encontrar uma explicação clara. Quando devo escolher struct e quando class? Existem convenções ou é apenas questão de gosto? Agradeço por uma resposta detalhada com exemplos! <<>>

Diferença principal: