У меня есть немного теоретический вопрос, однако это проблема, с которой я иногда сталкиваюсь при разработке классов, и я вижу, что это делается по-другому, когда читаешь чужой код. Что из следующего было бы лучше и почему:
пример 1:
class Color
{
public:
Color(float, float, float);
~Color();
friend bool operator==(Color& lhs, Color& rhs);
void multiply(Color);
//...
float get_r();
float get_g();
float get_b();
private:
float color_values[3];
}
пример 2:
class Color
{
public:
// as above
private:
float r;
float g;
float b;
}
Есть ли какое-то общее правило, которому следует следовать в таких случаях, или это зависит только от программиста и от того, что имеет больше смысла?