1*99451b44SJordan Rupprecht class Bool {
2*99451b44SJordan Rupprecht public:
operator &(const Bool other)3*99451b44SJordan Rupprecht     Bool operator&(const Bool other)
4*99451b44SJordan Rupprecht     {
5*99451b44SJordan Rupprecht         Bool result;
6*99451b44SJordan Rupprecht         result.value = value && other.value;
7*99451b44SJordan Rupprecht         return result;
8*99451b44SJordan Rupprecht     }
9*99451b44SJordan Rupprecht 
10*99451b44SJordan Rupprecht     bool value;
11*99451b44SJordan Rupprecht };
12*99451b44SJordan Rupprecht 
get(Bool object)13*99451b44SJordan Rupprecht bool get(Bool object)
14*99451b44SJordan Rupprecht {
15*99451b44SJordan Rupprecht     return object.value;
16*99451b44SJordan Rupprecht }
17*99451b44SJordan Rupprecht 
set(bool value)18*99451b44SJordan Rupprecht Bool set(bool value)
19*99451b44SJordan Rupprecht {
20*99451b44SJordan Rupprecht     Bool result;
21*99451b44SJordan Rupprecht     result.value = value;
22*99451b44SJordan Rupprecht     return result;
23*99451b44SJordan Rupprecht }
24*99451b44SJordan Rupprecht 
main()25*99451b44SJordan Rupprecht int main()
26*99451b44SJordan Rupprecht {
27*99451b44SJordan Rupprecht     Bool t = set(true);
28*99451b44SJordan Rupprecht     Bool f = set(false);
29*99451b44SJordan Rupprecht     get(t);
30*99451b44SJordan Rupprecht     get(f);
31*99451b44SJordan Rupprecht     get(t & f);
32*99451b44SJordan Rupprecht     return 0; // break here
33*99451b44SJordan Rupprecht }
34