我对 C++ 中的“头文件”有疑问,现在我有一个超类“节点”和三个子类“文件、目录、文件”
class Node {
public:
//declare common interface here
void setName(string& name);
const string getName();
// const Protection& getProtection();
// void setProtection(const Protection&);
void setCDate(char* cDate);
char* getCDate();
long size();
void streamIn(istream&);
void streamOut(ostream&);
Node* getChild(int index);
virtual void adopt(Node* child);
virtual void orphan(Node* child);
virtual void accept(Visitor&) = 0;
static void destroy(Node*);
protected:
Node();
Node(const Node&);
virtual ~Node();
virtual bool isWritable() = 0;
private:
string name;
char* cDate;
};
class Directory : public Node {
public:
Directory();
Directory(string path);
//redeclare common interface here
void setName(string& name);
string getName();
void setCDate(char* cDate);
char* getCDate();
long size();
Node* getChild(int index);
virtual void adopt(Node* child); //add children
virtual void orphan(Node* child); //let the subnode be free
virtual void accept(Visitor&);
private:
list<Node*> _nodes; //hold its subnode
string& name;
char* cDate;
};
文件和链接与类目录相同,这里是类访问者:
class Visitor{
public:
virtual ~Visitor() {}
virtual void visitNode(Node*) = 0;
virtual void visitFile(File*) = 0;
virtual void visitDirectory(Directory*) = 0;
virtual void visitLink(Link*) = 0;
protected:
Visitor();
Visitor(const Visitor&);
};
它们每个都在不同的头文件中,我想知道如何导入这些头文件