gpt4 book ai didi

c++ - 通用集类 - 复制构造函数

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:41 24 4
gpt4 key购买 nike

下午好,伙计们。

所以我目前正在研究一个通用集,试图让我的复制构造函数工作。我已经完成了一个节点类。我正处于一切对我来说似乎都有意义的地步,但它仍然无法正常工作..

诚然,我仍然无法理解链表。

template<class T>
set<T>::set(const set<T> & other) {
if(other.head == NULL) { head = NULL; }
else {
node <T> * s_ptr;
node <T> * d_ptr;
head = new node;
head -> get_data() = other.head -> get_data();
s_ptr = other.head -> set_link();
d_ptr = head;

while (s_ptr != NULL) {
d_ptr -> set_link() = new node;
d_ptr = d_ptr -> set_link();
d_ptr -> data = s_ptr -> get_data();
s_ptr = s_ptr -> link();
} //end while

d_ptr -> set_link() = NULL;
} //end else
}

在此先感谢您的帮助。你们真棒。

编辑:这是设置链接的代码: void set_link(node * n){link = n;}

这是获取数据的代码: T get_data(){return data;}

编辑 2:它不是为我编译的。在声明 new node 的行上我收到错误: expected type specifier before node expected ';' before node

我是不是错过了一个 <T>在什么地方?

最佳答案

d_ptr->link()看起来很有趣。应该是d_ptr->link . link 的其他一些用途也是如此

编辑:如果link是一个成员函数,你如何分配给它使用例如d_ptr -> link = new node;

我认为我们需要查看节点类 - 或者您需要粘贴正确的代码。

EDIT2:响应编译器错误:

new node;应该是 new node<T>;

关于c++ - 通用集类 - 复制构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5291834/

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