#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