What is an “operator int” function?
What is the "operator int" function below? What does it do? class INT { int a; public: INT(int ix = 0) { a = ix; } /* Starting here: */ operator int() { return a; } /* End */ INT operator ++(int) { return a++; } }; The bolded code is a conversion operator. (AKA cast operator ) It gives you a way to convert from your custom INT type to another type (in this case, int ) without having to call a special conversion function explicitly. For example, with the convert operator, this code will compile: INT i(1234); int i_2 = i; // this will implicitly call INT::operator int() Without the convert