所有class实例方法的打印语句终于打印出来了吗?

Print statement of all the class instance method are printing at last?

我在 class LinkedList 中定义了一个 printList() 方法,它打印出链表中的所有数据。在打印当前列表实例的所有元素后,它打印出语句 "list printed" 。现在,在创建 class LinkedList 的三个实例并在每个实例上逐个调用 printList 之后,打印所有三个实例的元素,然后 "list printed" 并更改行打印三次。谁能解释一下这背后的原因?

Class定义:

 class Node{
    public:
    int data;
    Node* next;
    Node(int data){
        this->data = data;
        next = NULL;
    }
 };

 class LinkedList{
    public:
    Node* head;
    LinkedList(){
        head==NULL;
    }

    void push(int data){
        Node* temp = new Node(data);
        temp->next = head;
        head = temp;
    }

    void printList(){
        Node* temp = head;
        while(temp){
            cout<<temp->data<<" ";
            temp = temp->next;
        }
        cout<<"list printed"<<endl;
    }
 };

驱动程序:

LinkedList ll1;
    ll1.push(7);
    ll1.push(5);
    ll1.push(3);
    ll1.push(1);
    LinkedList ll2;
    ll1.push(8);
    ll1.push(6);
    ll1.push(4);
    ll1.push(2);
    LinkedList ll3;
    ll1.push(11);
    ll1.push(10);
    ll1.push(9);
    ll1.push(0);
    ll1.printList();
    ll2.printList();
    ll3.printList();

输出:

0 9 10 11 2 4 6 8 1 3 5 7 list printed
list printed
list printed

请按如下方式更新您的代码

LinkedList ll1;
    ll1.push(7);
    ll1.push(5);
    ll1.push(3);
    ll1.push(1);
    LinkedList ll2;
    ll2.push(8);
    ll2.push(6);
    ll2.push(4);
    ll2.push(2);
    LinkedList ll3;
    ll3.push(11);
    ll3.push(10);
    ll3.push(9);
    ll3.push(0);
    ll1.printList();
    ll2.printList();
    ll3.printList();