Stack改写成一个类
现在嵌套的数据结构是private
好处是可以确保客户程序员既看不到,也不依赖Stack的内部表示
//: C05:Stack2.h
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Nested structs via linked list
#ifndef STACK2_H
#define STACK2_H
class Stack {
struct Link {
void* data;
Link* next;
void initialize(void* dat, Link* nxt);
}* head;
public:
void initialize();
void push(void* dat);
void* peek();
void* pop();
void cleanup();
};
#endif // STACK2_H ///:~
只有编译器知道类成员的保护级别
与成员关联的访问控制信息并没有被传递给连接器
所有的访问保护检查都是由编译器完成,运行期间不再检查