当前位置:系统粉 > 电脑问答 > 其他问答 > 帮忙一下,看看这段代码(C++)有什么错误

帮忙一下,看看这段代码(C++)有什么错误

提问者:夏夜微凉夜未央  |  浏览 次  |  提问时间:2017-01-27  |  回答数量:5

帮忙一下,看看这段代码(C++)有什么错误 斑竹在不?麻烦看一下,急啊,谢谢

已有5条答案
溜道闲人

溜道闲人

回答数:71  |  被采纳数:149

2017-01-27 16:11:08
把ptr=ptr->next下移一行
赞 7
yrybaby

yrybaby

回答数:217  |  被采纳数:64

2017-01-27 20:50:20
下移一行,是不是变成这样?
while(ptr) //输出基类a中的getname()
{
ptr=ptr->next;
cout<<ptr->getname()<<endl;}
}
做了,还是不行啊...
赞 21
轩哥8686

轩哥8686

回答数:157  |  被采纳数:147

2017-01-27 17:19:40
只下移一行,其它行都不能动
{
cout<<ptr->getname()<<endl;ptr=ptr->next;}
赞 15
爱露米娜love

爱露米娜love

回答数:219  |  被采纳数:132

2017-01-27 17:03:48
好了!问题解决了,谢谢四楼的
赞 21
zz_自娱自乐

zz_自娱自乐

回答数:104  |  被采纳数:118

2017-01-28 03:56:46
#include<iostream.h>
#include<string.h>
#include<iomanip.h>

class a //定义a类
{public:
a(char*); //a的构造函数

virtual ~a(); //解析函数

const char *getname()const ;//返回name值

a *next; //用于构造链表

virtual void print(); //输出

protected:
char *name;};

a::a(char *k) //定义构造函数
{name=new char[strlen(k)+1];
strcpy(name,k);}

a::~a() //定义解析函数
{delete[]name;}

const char*a::getname()const //getname的定义
{return name;}

void a::print() //输出定义
{cout<<name<<endl;}

class b:public a //类b继承类a
{public:
b(char*,char*); //b的构造函数

~b(){};

void setbnumber(char*);

virtual void print();

protected:
char *bnumber;
};

b::b(char*k,char*str):a(k)
{setbnumber(str);}

void b::setbnumber(char*str)
{bnumber=new char[strlen(str)+1];
strcpy(bnumber,str);
}

void b::print()
{a::print();
cout<<bnumber<<endl;

}

void addfront(a *&h,a *&t)
{t->next=h;h=t;}


void showb()
{a*emphead=NULL,*ptr;

ptr=new b(\"nihao\",\"yes\"); //为构造函数赋值

addfront(emphead,ptr); //加到链表中

ptr=new b(\"hello\",\"no\"); //再赋值

addfront(emphead,ptr); //再加到链表中

ptr=emphead;

while(ptr) //输出基类a中的getname()
{ptr=ptr->next;
cout<<ptr->getname()<<endl;}
}



void main()
{showb();}

在vc6.0中检验不出错误,可就是执行到一半,输出第一个\"nihao\",\"yes\"后就说什么出现错误
调试后说错误出现在const char*a::getname()const{return name;}这里,到底是怎么回事,请高手指点一下。
赞 10
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航