荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: huhaiming (一生只爱她), 信区: Program
标  题: Re: 问一个指针的问题
发信站: 荔园晨风BBS站 (Tue Jun 10 13:19:43 2003), 站内信件


应该是你忘了把lastNode的nextNode=NULL了,
我测试了一下,没有任何问题
#include <iostream.h>

class listNode
{
public:
        int data;
        listNode *nextNode;
};
class list
{
public:
        list(int a[],int len)
        {
                listNode *temp;
                startNode = lastNode = NULL;
                int i;
                for(i=0;i<len;i++)
                {
                        temp = new listNode;
                        if(i==0) lastNode = temp;
                        temp->data = a[i];
                        temp->nextNode = startNode;
                        startNode = temp;
                }
        }

        void print();

private:
        listNode *startNode;
        listNode *lastNode;
};

void list::print()
{
        listNode *tem;
        for( tem=startNode ; tem != NULL ; tem=tem->nextNode )
                if(tem != lastNode)     cout<<tem->data<<"->";
                else                            cout<<tem->data<<"^\n";

}

int main()
{
        const int n=5;
        int x[n]={1,2,3,4,5};
        list test(x,n);
        test.print();
        return 0;
}


【 在 contonazhao (为四级备战的松鼠仔) 的大作中提到: 】
: 我在做一个链表类的时候是这样定义的
: class listNode
: {
: public:
:        char data;
:        listNode *nextNode;
: };
: class list
: {
: public:
:          void print();
:          ............//其他的一些成员函数
: private:
:          listNode *startNode;
:          listNode *lastNode;
: };
: 完成了链表的构造后(构造过程是没有问题的)
: 在函数print里我想打印list
: 于是我是这样写这个函数的
: void list::print()
: {
: listNode *tem;
: for( tem=startNode ; tem->nextNode != NULL ; tem=tem->nextNode )
:    cout<<tem->data;
: }
: 关键就在print()里声明的那个局部变量tem指针,
: 执行的时候老是说遇到问题需要关闭,用debug看,说是有unhandled
: exception,就在print()里面的循环体里
: 为什么会这样呢?我怀疑是是指针的问题,究竟应该怎样做才对呢?
: 请大家指教,THX!!!!


--

菩提本无树,明镜亦非台

本来无一物,何处惹尘埃

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.200]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店