У меня есть теоретический вопрос, однако это проблема, с которой я иногда сталкиваюсь при разработке классов, и я вижу, что это делается по-другому, когда читаешь другие коды. Что из перечисленного было бы лучше и почему:Конструкция класса: массивы против нескольких переменных
пример 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;
}
Есть общее правило, следует следовать в подобных случаях, или это просто до программиста и что, кажется, имеет больше смысла?
Кстати, у вас есть практическая причина для того, чтобы держать здесь поля частными? – Kos
@ Kos, приведенный в примере, я мог легко увидеть использование аксессуаров и мутаторов для ограничения ввода, хотя каждое поле должно быть, скорее, 'byte', а не' float'. Кроме того, могут использоваться строковые значения, такие как '# ABCDEF' и' # ABC'. – zzzzBov