我正在为学校分析一个操作系统项目,并遇到了这个头文件:
//kernelev.h
#ifndef _KERNELEV_H
#define _EVENT_H_
typedef unsigned char IVTNo;
class Thread;
class PCB;
class KernelSem;
class KernelEv {
public:
KernelEv (IVTNo ivtNo);
~KernelEv();
int wait(int MaxTimeToWait);
void signal();
[...]
现在,在编写这些方法(KernelEv、~KernelEv、wait 和 signal)的完整定义时,他们使用了 Thread、PCB 和 KernelSem 类的属性。通常引入例如#include Thread.h有什么区别;#include KernelSem.h; 并且只声明这样的类:class Thread; 数据访问权限是否存在差异?或者它以某种方式完全不同?
感谢您的帮助,我希望我的问题足够清楚。