我正在努力学习c ++。所以我开始创建一个简单的类链表。根据我的理解,您应该将所有方法/构造函数声明放在.h文件中。但是在我完成之后我遇到了一个问题,同时创建方法prepend。如何在定义文件(.cpp)中使用关键字this:
标头文件
#ifndef LIST_LIST_H
#define LIST_LIST_H
template <class T>
class List {
public:
List(T data, List tail): data(data), tail(tail) {}
List prepend(T data);
List get(int i);
private:
List tail;
T data;
};
#endif //LIST_LIST_H
实施档案
#include "List.h"
template <class T>
List::List(T data, List tail): data(data), tail(tail) {}
template <class T>
List List::prepend(T data) {
return new List(data, this);
}
我尝试搜索解决方案,但由于我是c ++的新手,我不知道如何搜索它。