#include <iostream>
using namespace std;

class my_bool {
private:
    bool value;
public:
    my_bool(bool value) : value(value) {}
    operator bool() { return value; }

    friend my_bool operator==(const my_bool & instance_1, my_bool & instance_2);
};

my_bool operator==(const my_bool & instance_1, my_bool & instance_2)
{
    return instance_1 == instance_2;
}

int main()
{
    my_bool a = true;
    bool b = true;
    bool c = false;

    if (a == b)
        cout << "a==b: true" << endl;
    else
        cout << "a==b: false " << endl;

    if (a == c)
        cout << "a==c: true" << endl;
    else
        cout << "a==c: false " << endl;

    if (a)
        cout << "a is: true" << endl;
    else
        cout << "a is: false " << endl;
}
