2012-10-13 53 views
0

我一直在致力于linked list实现。以前我只有char作为数据类型。我试着实现泛型/模板,所以我可以使用任何数据类型。C++通用链接列表单独类

我在我的项目中有4个文件。 Clist.h, Clist.cpp, Main.cpp and EmptyListException.h

以前我的程序不会运行时,我的Clist.cpp与我的Main.cpp分开。然后我复制了整个班级我的Main.cpp,它运行没有问题。

有没有一种方法可以做到这一点,所以我的Clist.cpp可以从我的主文件(这是linked list的测试工具)分开。

我可以发布代码,如果它会帮助。

回答

2

要使模板起作用,它们不能在* .h文件和* .cpp文件之间分开。编译器需要查看模板的实现以使用它。

看到这个类似的问题:Splitting templated C++ classes into .hpp/.cpp files--is it possible?

+0

所以我在技术上不需要Clist.cpp如果我所有的代码添加从Clist.cpp我Main.cpp的 – George

+0

是的,但它可能会是更好的移动从'Clist.cpp'到'Clist.h'的模板代码可以防止你的Main.cpp变得混乱。例如,如果您看到标准矢量库的实现,则所有通用代码都位于一个头文件中。 – Ryan