Как создать флаги в классе на основе цветов RGB в C++
#include <iostream>
enum RGB {
RED = 0xFF0000,
GREEN = 0x00FF00,
BLUE = 0x0000FF
};
class Flag {
public:
Flag(RGB color) : color(color) {}
void printColor() {
switch(color) {
case RED:
std::cout << "Red" << std::endl;
break;
case GREEN:
std::cout << "Green" << std::endl;
break;
case BLUE:
std::cout << "Blue" << std::endl;
break;
default:
std::cout << "Unknown color" << std::endl;
}
}
private:
RGB color;
};
int main() {
Flag redFlag(RED);
redFlag.printColor();
Flag greenFlag(GREEN);
greenFlag.printColor();
Flag blueFlag(BLUE);
blueFlag.printColor();
return 0;
}
В данном примере создается перечисление RGB с тремя цветами: RED, GREEN и BLUE, которые имеют соответствующие значения в формате RGB. Затем создается класс Flag, который принимает в конструкторе значение типа RGB и выводит название цвета в зависимости от переданного значения. Теперь можно создавать объекты класса Flag, указывая вместо числовых значений названия цветов из перечисления RGB. Это делает код более читаемым и удобным для использования.