好的,这是基本的c ++。我有一个类是线性链接列表。我想声明两个结构。其中一个是客户端使用(即他们要传递给类的信息),另一个结构只是我(实施者)管理链表(这是“节点”)。即:
//this is the one for client use
struct form {
char *name;
int age;
char *address;
//etc.
};
struct node {
char *name; //same as in above but I am sorting the LL by this so I need it out
form *client_form;
node *next;
};
我感到困惑的是它们究竟放在哪里。我认为最好将客户端将要使用的结构放在类定义之上,但是放置“node”结构的最佳位置在哪里。这应该私有化吗?谢谢你们!
答案 0 :(得分:3)
可以简单地将节点结构放入.cpp文件中。如果标题中有某些内容引用某个节点,例如“struct node * firstNode”然后你必须转发声明它靠近标题的顶部,只需说“struct node;”。
所以,.h:
struct node;
struct form {
// form fields
};
class MyStuff {
private:
struct node *firstNode;
// more Stuff
};
的.cpp:
struct node {
// node fields
};
MyStuff::MyStuff(struct form const& details) {
// code
}