早教吧 育儿知识 作业答案 考试题库 百科 知识分享

#includetemplatestructNode{DataTypedata;Node*next;};​templateclassYue{public:Yue(){first=newNode;first=NULL;}Yue(DataTypen,intm);Yue(){}voidloop();private:Node*first;};templatevoidYue::loop(DataType,intm){Node*r,*s;r=first->

题目详情
#include template struct Node { DataType data; Node *next; }; ​
template
class Yue
{
public:
Yue(){first=new Node;first=NULL;}
Yue(DataType n,int m);
Yue(){}
void loop();
private:
Node *first;
};
template
void Yue::loop(DataType,int m)
{
Node *r,*s;
r=first->next;
if(m!=1)
{
while(r!=NULL)
{
for(i=1;;i++)
{
r->data=i;
if(r->data==m)
{
cout
▼优质解答
答案和解析
错误的意思是说你的声明和定义不一样,但仔细看了,你写了没错的.\r\n 程序中应该不是这一个错误,LinkList::Locate函数中\“p=first-next;count=1;\”中少了一个箭头,刚才我在VS2008中调试了下,按照提示做了修改,主函数名和参数用了不支持unicode的main(_tmain是main的别名),头文件#include "stdafx.h"也删了,能正常运行,代码如下:\r\n#include\r\n#include\r\n#define NULL 0\r\nusing namespace std;\r\ntemplate\r\nstruct Node{ \r\n DataType data;\r\nNode *next;\r\n};\r\ntemplate\r\nclass LinkList\r\n{\r\npublic: LinkList();\r\n LinkList(DataType a[],int n);\r\n ~LinkList();\r\n int Length(); \r\n DataType Get(int i);\r\n void PrintList();\r\n int Locate(DataType x);\r\nprivate: Node *first;\r\n};\r\ntemplate\r\nLinkList::LinkList()\r\n{ \r\n first=new Node;\r\n first->next=NULL;\r\n}\r\ntemplate\r\nLinkList::LinkList(DataType a[],int n)\r\n{ \r\n Node *first,*s,*p; \r\n first=new Node;\r\n first->next=NULL; \r\n int i; \r\n this->first = first; \r\n for(i=0;i;\r\n s->data=a[i]; \r\n s->next=first->next;\r\n first->next=s; \r\n }\r\n}\r\ntemplate\r\nLinkList::~LinkList()\r\n{ \r\n Node *q; \r\n while(first!=NULL) \r\n { \r\n q=first; \r\n first=first->next; \r\n delete q; \r\n }\r\n}\r\ntemplate\r\nvoid LinkList::PrintList()\r\n{ \r\n Node *p; \r\n p=first->next;\r\n while(p!=NULL) \r\n { \r\n cout<data; \r\n p=p->next; \r\n }\r\n}\r\ntemplate\r\nint LinkList::Length()\r\n{ \r\n Node *p;\r\n int count; \r\n p=first->next;\r\n count=0; \r\n while(p!=NULL) \r\n { \r\n p=p->next; \r\n count++; \r\n } \r\n return count;\r\n}template\r\nint LinkList::Locate(DataType x)\r\n{ \r\n Node *p; \r\n int count; \r\n p=first->next;count=1; \r\n while(p!=NULL) \r\n { \r\n if(p->data==x)\r\n return count; \r\n p=p->next; \r\n count++; \r\n } return 0;\r\n}\r\nint main()\r\n{ \r\n int b[3]; \r\n b[0]=2,b[1]=4,b[2]=6; \r\n LinkList a(b,3);\r\n a.PrintList(); \r\n cout<