我建议你多看看书,看了你的程序发现你没有C++基础,而且是连最基本的都不会,一下子搞类模块不合适,针对你的问题我写了下面代码。
#include <iostream>
#include <string>
#include<stdlib.h>
using namespace std;
template<class U>
struct Node
{
U name;
U number;
U chinese;
U math;
U english;
Node<U> *next;
};
template <class T,typename cont=Node<T> >
class student
{
public:
student();//建立构造函数
private:
cont *first;//单链表的头指针
};
template <class T,typename cont>
student<T,cont>::student()
{
int n;
cont *p,*s;
T name1,number1,chinese1,math1,english1;
cout<<"请输入总人数";
cin>>n;
p=NULL;
for(int i=1;i<=n;i++)
{
s=new cont;
cout<<"请输入姓名";
fflush(stdin);
cin>>name1;
s->name=name1;
cout<<"请输入学好";
fflush(stdin);
cin>>number1;
s->number=number1;
cout<<"请输入语文成绩";
fflush(stdin);
cin>>chinese1;
s->chinese=chinese1;
cout<<"请输入数学成绩";
fflush(stdin);
cin>>math1;
s->math=math1;
cout<<"请输入英语成绩";
fflush(stdin);
cin>>english1;
s->english=english1;
s->next=NULL;
//头节点直接插入。
if(p){
p->next=s;
p=p->next;
}else {
first=s;
p=s;
}
}
}
void main()
{
student<string> student;
}