#include <iostream>
using namespace std;
struct Punto
{
double x;
double y;
} ;
class Circulo
{
public :
void centro( const Punto& ) ;
void centro( Punto& ) const ;
private :
Punto centro_;
} ;
void Circulo:: centro ( const Punto& pto)
{
centro_ = pto;
cout << "void centro( const Punto&)" << endl;
}
void Circulo:: centro ( Punto& pto) const
{
pto = centro_;
cout << "void centro( Punto&) const" << endl;
}
int main( )
{
Circulo circ;
Punto pto;
pto.x = 10 ;
pto.y = 10 ;
circ.centro ( static_cast < const Punto& > ( pto) ) ;
static_cast < void ( & ) ( Punto& ) > ( circ.centro ) ( pto) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFB1bnRvCnsKCWRvdWJsZSB4OwoJZG91YmxlIHk7Cn07CgpjbGFzcyBDaXJjdWxvIAp7CglwdWJsaWM6CgkJdm9pZCBjZW50cm8oIGNvbnN0IFB1bnRvJik7CgkJdm9pZCBjZW50cm8oIFB1bnRvJikgY29uc3Q7CgkKCXByaXZhdGU6CgkJUHVudG8gY2VudHJvXzsKfTsKCnZvaWQgQ2lyY3Vsbzo6Y2VudHJvKCBjb25zdCBQdW50byYgcHRvKQp7CgljZW50cm9fID0gcHRvOwoJY291dCA8PCAidm9pZCBjZW50cm8oIGNvbnN0IFB1bnRvJikiIDw8IGVuZGw7Cn0KCnZvaWQgQ2lyY3Vsbzo6Y2VudHJvKCBQdW50byYgcHRvKSBjb25zdAp7CglwdG8gPSBjZW50cm9fOwoJY291dCA8PCAidm9pZCBjZW50cm8oIFB1bnRvJikgY29uc3QiIDw8IGVuZGw7Cn0KCgppbnQgbWFpbigpIAp7CglDaXJjdWxvIGNpcmM7CglQdW50byBwdG87CglwdG8ueCA9IDEwOwoJcHRvLnkgPSAxMDsKCQoJY2lyYy5jZW50cm8oIHN0YXRpY19jYXN0PGNvbnN0IFB1bnRvJj4ocHRvKSk7CglzdGF0aWNfY2FzdDx2b2lkICgmKShQdW50byYpPihjaXJjLmNlbnRybykoIHB0byk7CgoJcmV0dXJuIDA7Cn0=