C++链表拷贝构造函数
时间: 2024-09-22 16:04:10 浏览: 58
在C++中,链表拷贝构造函数是一个特殊类型的构造函数,它用于创建一个新的链表对象,其内容是从已有链表复制而来。拷贝构造函数的原型通常是这样的:
```cpp
class LinkedList {
private:
struct Node {
int data;
Node* next;
};
public:
// 拷贝构造函数
LinkedList(const LinkedList& other) {
if (other.isEmpty()) {
head = nullptr; // 如果原链表为空,则新链表也为空
} else {
Node* newNode = new Node(other.head->data);
newNode->next = nullptr;
current = newNode;
while (other.current != nullptr) {
Node* temp = new Node(other.current->data);
current->next = temp;
current = current->next;
other.current = other.current->next;
}
}
}
// 其他链表操作...
Node* head;
Node* current;
};
```
在这个例子中,`LinkedList(const LinkedList& other)`接受一个原始链表作为参数,并通过迭代原链表,为每个节点创建新的副本并链接它们到新链表中。如果原链表为空,则新链表也是空的。
阅读全文