我正在寻找一种连接不同结构创建的节点的方法,以创建链表和类似的东西。我尝试了几种方法,但未能做到。你能帮助我吗?
这是我的代码:
struct nodeA{
int somedata;
nodeA* next;
};
struct nodeB{
int someData;
nodeB* next;
nodeB* someAnotherNode;
};
int main(){
nodeA* A0 = new nodeA; //Just creating some nodes...
nodeA* A1 = new nodeA;
nodeA* A2 = new nodeA;
nodeB* B0 = new nodeB;
A0 -> next = A1; //I can connect these nodes
A1 -> next = A2; //in this way.
A2 -> next = B0; //but, I can't do that!
return 0;
}
最佳答案
使用类和polymorphism:
class NodeA {
public:
int somedata;
NodeA* next;
};
class NodeB : public NodeA {
NodeB* someAnotherNode;
};
int main(){
NodeA* A0 = new NodeA; //Just creating some Nodes...
NodeA* A1 = new NodeA;
NodeA* A2 = new NodeA;
NodeB* B0 = new NodeB;
A0 -> next = A1; //I can connect these Nodes
A1 -> next = A2; //in this way.
A2 -> next = B0; //but, I *can* do that!
return 0;
}