#ifndef MIRROR_H
#define MIRROR_H
class Mirror {
Mirror * next;
bool flag;
public :
Mirror():flag( true ),next( 0 ){}
Mirror(Mirror * p) { next = p; flag = false ;}
bool test() {
if (next == 0 )
return flag;
return next -> test();
}
};
extern Mirror * obj1;
extern Mirror * obj2;
extern Mirror * obj3;
extern Mirror * obj4;
extern Mirror * obj5;
class Initializer {
static int count;
public :
Initializer() {
if (count ++ == 0 ) {
obj1 = new Mirror;
obj2 = new Mirror(obj1);
obj3 = new Mirror(obj2);
obj4 = new Mirror(obj3);
obj5 = new Mirror(obj4);
}
}
};
static Initializer init;
#endif // MIRROR_H
#define MIRROR_H
class Mirror {
Mirror * next;
bool flag;
public :
Mirror():flag( true ),next( 0 ){}
Mirror(Mirror * p) { next = p; flag = false ;}
bool test() {
if (next == 0 )
return flag;
return next -> test();
}
};
extern Mirror * obj1;
extern Mirror * obj2;
extern Mirror * obj3;
extern Mirror * obj4;
extern Mirror * obj5;
class Initializer {
static int count;
public :
Initializer() {
if (count ++ == 0 ) {
obj1 = new Mirror;
obj2 = new Mirror(obj1);
obj3 = new Mirror(obj2);
obj4 = new Mirror(obj3);
obj5 = new Mirror(obj4);
}
}
};
static Initializer init;
#endif // MIRROR_H