#include <iostream>
using namespace std;

class C { 
private: 
    int * p; 
public: 
    C() : p(0) {} 
    operator bool() const   {cout << "bool() const\n"; return p != 0;} 
    //operator bool()         {cout << "bool()\n"; return p != 0;} 
    operator int*() const  {cout << "int*() const\n"; return p;} 
    operator int**()       {cout << "int**()\n"; return &p;} 
};   

void test() { 
    C c; 
    bool b = c; 
    int* p = c; 
    int** pp = c; 
}

int main() {
	test();
	return 0;
}