尝试连接两种不同类型的结构以创建链接列表

时间:2017-06-30 17:32:01

标签: c++ linked-list structure nodes

我正在寻找一种方法来连接由不同结构创建的节点,以制作链接列表和类似的东西。我尝试了几种方法,但我无法做到。你能救我吗?

这是我的代码:

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;
}

1 个答案:

答案 0 :(得分:1)

使用班级和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;
}