大家帮我看一下,是什么问题
这是我这次试验的题目:private:
int exp;//指数
float coef;//系数
Node *next;
public:
Node();//从键盘接收输入的系数,指数
Node(float cf,int ep);//cf为系数,ep为指数
};
Node *head=NULL;
//完成以下定义
Node::Node()
{
}
//完成以下定义
Node::Node(float cf,int ep)
{
}
定义一个全局指针Node *head(指向多项式链表中的第一项节点),
要求:
1、Node的构造函数自动将构造的对象插入head链表中;
2、main函数结束时依次释放链表中的的节点。
//验证定义
void main()
{
}
这里我写的代码:
# include<iostream.h>
# include<stdio.h>
class node
{
private:
int exp;
float coef;
node *next;
public:
node(int ep,float cf);
node();
void output();
void del();
};
node *head=NULL;
node::node(int ep,float cf)
{
exp=ep,coef=cf;
}
node::node()
{
node *p=this;
p->next=this;
this->next=NULL;
::head=this;
p=::head;
}
void node::output()
{
node *q;
while(1)
{
cout<<q->coef<<"^"<<exp<<endl;
q=q->next;
if(q->next==NULL)
break;
}
}
void node::del()
{
node *p,*q;
q=::head;
while(q->next!=NULL)
{
p=q->next;
delete q;
q=p;
}
}
void main()
{
int ep,i=1;
float cf;
node *q,*p;
node a[10];
cout<<"please input exp and coef"<<endl;
cin>>ep>>cf;
a[0]=node(ep,cf);
q=::head=&a[0];
while(1)
{
cout<<"please input exp and coef,if finish press 0"<<endl;
cin>>ep>>cf;
if(ep==0||cf==0)
break;
a[i]=node(ep,cf);
i++;
}
::head=q;
a[0].outpu()t;
a[0].del();
}
但不为什么,没有输出,也就是根本运行不到ouput与del成员函数中,大家帮我看一下,错在哪里,谢谢了
[ 本帖最后由 x6988312 于 2012-11-26 10:13 编辑 ]