初学C++,定义单向链表类List,然后将两个有序链表合并,但总是提示有异常!
初学C++,定义单向链表类List,然后将两个有序链表合并,但总是提示有错误!!
链表节点类ListNode,链表类List,合并文件ListCombine
ListNode.h
#define LISTNODE_H
template<class T>
class ListNode
{
T data;
ListNode<T>* link;
public:
ListNode(): link(NULL) {}
ListNode(T value): link(NULL),data(value) {}
~ListNode() {};
void SetLink(ListNode<T>* next);
ListNode<T>* GetLink();
T& GetData();
};
List.h
#define LIST_H
#include"ListNode.h"
template<class T>
class List
{
ListNode<T>* head;
ListNode<T>* tail;
public:
List();
~List(){};
int GetCount ();
bool AddTail(T value);
bool InsertAt(int index,T value);
bool RemoveAt(int index);
bool RemoveTail();
T& GetAt(int index);
};
ListNode.cpp
List.cpp
ListCombine.cpp
编译,连接之后有如下错误
------解决方案--------------------
设置断点单步跟踪调试,是程序员必备技能之一。
链表节点类ListNode,链表类List,合并文件ListCombine
ListNode.h
#define LISTNODE_H
template<class T>
class ListNode
{
T data;
ListNode<T>* link;
public:
ListNode(): link(NULL) {}
ListNode(T value): link(NULL),data(value) {}
~ListNode() {};
void SetLink(ListNode<T>* next);
ListNode<T>* GetLink();
T& GetData();
};
List.h
#define LIST_H
#include"ListNode.h"
template<class T>
class List
{
ListNode<T>* head;
ListNode<T>* tail;
public:
List();
~List(){};
int GetCount ();
bool AddTail(T value);
bool InsertAt(int index,T value);
bool RemoveAt(int index);
bool RemoveTail();
T& GetAt(int index);
};
ListNode.cpp
List.cpp
ListCombine.cpp
编译,连接之后有如下错误
------解决方案--------------------
设置断点单步跟踪调试,是程序员必备技能之一。