关键词calss(类)与struct作用相近,但缺省关键词不同
类class(缺省类型为private)
struct (缺省类型为public)
句柄 类(handle class)的作用:便于修改一个类,减少重复编译
//例子中,头文件中只包含公共接口和一个简单的未完全指定的类指针
//:HANDLE.H--Handle classes
#ifndef HANDLE_H_
#define HANDLE_H_
class handle{
struct cheshire;
cheshire* smile;
public:
void initialize();
void cleanup();
int read();
void change(int);
};
#enddef
//:HANDLE.CPP-Handle implementation
#include"handle.h"
#include<stdlib.h>
#include<assert.h>
//define handle's implementation
struct handle::cheshire{ //对类指针按照需求进行定义
int i;
};
void handle::initialize(){
smile=(cheshire*)malloc(sizeof(cheshire));
assert(smile);
smile->i=0;
}
void handle::cleanup(){
free(smile);
}
int handle::read(){
return smile->i;
}
void handle::change(int x){
smile->i=x;
}
//:USEHANDLE.CPP--use the handle class
#include<handle.cpp>
main(){
handle u;
u.initialize();
u.read();
u.change(1);
u.cleanup();
}