具体是一个main.cpp文件,如下,其中包含两个类的头文件,其中一个是类模板
******************************************************************************************
#include"LList.h"
#include"TelBook.h"
#include <stdlib.h>
#include<fstream>
using namespace std;
void Initial();
template <class T>
void Insert(LList<T> &L);
template <class T>
void NameSearch(LList<T> &L);
template <class T>
int main()
{
int nChoice;
char str[30];
LList<TelBook> L,M;
while(1)
{
Initial();
cin.getline(str,30);
nChoice=atoi(str);
switch(nChoice)
{
case 1:
Insert(L);
break;
case 2:
NameSearch(L);
break;
case 0:
break;
default:
cout<<"输入错误,请重新输入!"<<endl;
}
if(nChoice==0)
break;
}
return 0;
}
void Initial(){}
template <class T>
void Insert(LList<T> &L){
char *name , *code;
cout<<"请依次输入姓名和电话号:\n";
cin>>name>>code;
TelBook tel(name,code);
L.Insert(tel);
}
template <class T>
void NameSearch(LList<T> &L)
{}
******************************************************************************************
LList.h内容如下
******************************************************************************************
#ifndef LINKEDLISTH
#define LINKEDLISTH
#include <fstream>
#include <assert.h>
using namespace std;
static int i=0,j=0,k=0;
template <class T> class LList
{
protected:
struct Node
{
T Data;
Node * Next;
Node()
{
Next=0;
}
Node(T element, Node *ptr=0)
{
Data = element;
Next=ptr;
}
} *First; //是指向节点(Node类型)的指针
int NumberNodes; //链表的节点计数器
public:
//一些函数
};
******************************************************************************************
LList.cpp内容如下
******************************************************************************************
#include"LList.h"
#include"TelBook.h"
这里是对上面类函数的定义,由于超出了字数限制,这里不贴了
******************************************************************************************
TelBook.h
*****************************************************************************************
#include <string.h>
#include <fstream>
using namespace std;
class TelBook
{
char szName[20],szCode[20];
public:
//有一些函数
};
******************************************************************************************TelBook.cpp
******************************************************************************************
#include "TelBook.h"
这里是对上面类函数的定义,由于超出了字数限制,这里不贴了
******************************************************************************************
主要是链接问题,由于字数限制函数体内容不贴了。
真心向各位大牛求教,望解答~
PS
我刚才把五个文件合并到一起之后可以运行了,所以应该只是链接过程出了点问题,求教!
第一张图是报错时候的,两个构造函数和四个析构函数的错误
我都有定义,是不是哪里有些小问题呢?
恳请您指正,万分感谢!
我刚才把五个文件合并到一起之后可以运行了,所以应该只是链接过程出了点问题,求教!
C++新手,dev c++,出现链接问题undefined reference to `LList<TelBoo...
问题在你的#include"LList.h" 上啊 你的LList 是否没定义默认构造函数呢?你贴的代码有限,有可能是你LList定义了带参数的构造函数忘记定义默认构造函数了