gpt4 book ai didi

C++:简单节点/链表

转载 作者:行者123 更新时间:2023-11-30 04:19:08 25 4
gpt4 key购买 nike

<分区>

在下面的链接列表中,我试图实现一个打印功能。该函数是模板化的,不是 Node 类的一部分。

基本上我希望这个打印函数是动态的,这样我就不必打印出所有 Node->data手动。我有点按照这个例子的思路工作:http://www.cstutoringcenter.com/tutorials/cpp/cpp17.php

但是,当我尝试实现打印功能时,我遇到编译器错误,例如: node was not declared in this scope , p' was not declared in this scope , 和 variable or field 'print' declared void .

这是我的程序:

#include<iostream>
using namespace std;

template<typename T>
class Node
{
public:
Node(T = 0);
~Node() { delete [] nextPtr; };

T getData() const;
Node<T>*& getNextPtr() { return nextPtr; };

private:
T data;
Node<T> *nextPtr;
};

//CONSTRUCTOR
template<typename T>
Node<T>::Node(T newVal)
: data(newVal), nextPtr(NULL)
{
//EMPTY
};

//GETDATA() -- RETURN DATA VALUE
template<typename T>
T Node<T>::getData() const
{
return data;

};

//PRINT FUNCTION
template<typename T>
void print(node<T>* p)
{
while(p)
{
cout << p->data();
p = p->link();
}
};

int main()
{
Node<int> intNode1(5), intNode2(6), intNode3(7);

intNode1.getNextPtr() = &intNode2;
intNode2.getNextPtr() = &intNode3;

print(&intNode1);

system("pause");
}

我做错了什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com