#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
本文介绍了一个使用 C++ 实现的简单链表结构——Mirror 类,并通过静态初始化器确保链表的正确创建。该链表采用布尔标志来区分链表尾部。
572

被折叠的 条评论
为什么被折叠?



