私がこれを持っているとしましょう:
enum E{
a,
b,
c,
total
}
class A {
char mask; // supposed to contains combinations of values of the enum, like a or c, etc
}
ユーザーフレンドリーな方法でオブジェクトAを構築するための適切なソリューションはありますか?たとえば、私は次のことができます。
A(E e) {
mask = 1 << e;
}
ただし、これは、列挙型の1つの要素のみからマスクを作成する場合にのみ機能します。理想的には、ユーザーは次のようなことを実行できます。
A* a = new A(a | c)
これにより、自動的に作成されます
mask = 1 << a | 1 << c;
これを正しく行う方法について何かアイデアはありますか?ありがとう
編集
悲しいことに、私は最初の列挙型を制御できず、値は1ずつ増加しています