穷究链表(十二)

在实现模板之前,我们来实现一下嵌套类。

Code

可能还需要修改,因为这不是我想要的那样。(不过后面发现,使用了嵌套类之后还是需要声明友元,这样另外搞嵌套类就似乎多此一举了)

所以,到现在为止,我遗留了两个明显的问题,和一个其他问题。明显的问题就是,在赋值函数的判断中,到底如何判断,还没有确定。还有就是,嵌套类的实现,没有达到符合的标准。其他问题就是,测试没有完全,怎么确定代码的正确性。 

对于private成员,只有该类或者友元才可以访问,除非外围类(outer class)被声明为嵌套类(inner class)的友元,否则它没有权利访问嵌套类的私有成员。 

http://blog.csdn.net/wuliming_sc/archive/2009/01/21/3845428.aspx

 

在实现的时候,发现

 1int linkedlist::findNode(int pos)
 2{
 3    listnode *tmp=header;
 4    int cnt=0;
 5    while (tmp->next && cnt<pos)
 6    {
 7        tmp = tmp->next;
 8        cnt++;
 9    }

10    return tmp->data;
11}

12

修改可能还有些问题,对于找不到节点的情况,不知道怎么处理比较好。

此时引入异常(我就知道我会碰到这家伙,不过不清楚是什么时候)。

 

经过修改后的代码暂时如下:

Code

可以看到上面某些函数代码中加入了异常处理。

原先是采用catch(...)的,后来换成catch(char *),不过似乎感觉还是不太好。不过如果要自己定义一个exception类又太麻烦了。不清楚是否有什么比较好的方法。

从异常处理来说,JAVA做得比C++要好些,至少很多exception类比较齐全,同时报错时,异常栈中的信息比较全。

 

posted on 2009-10-22 18:51  cnyao  阅读(265)  评论(0编辑  收藏  举报