自己写了个单链表类,大家看看我的复制构造函数写得对吗?
- C/C++ code
#include<iostream>using namespace std;class LinkNode{ //这是节点类,作为链表类的父类protected: int data; LinkNode *link;public: LinkNode(int& item,LinkNode *ptr=NULL) { item=0; data=item; link=ptr; }};- C/C++ code
#include<iostream>#include"linknode.h"using namespace std;class SingleList:public class LinkNode{private: LinkNode *first;public: SingleList(){first= NULL;} SingleList(const int x){first= new LinkNode(x);} ~SingleList(){makeEmpty();} SingleList(SingleList& L);};SingleList::SingleList(SingleList& L){ //复制构造函数 first=new LinkNode; first=L.first;}大家说我这个复制构造函数写得对吗?如果错的话应该怎么修改?
我对复制构造函数的理解不好
[解决办法]
语法上没有错,但是没有实际意义。
关键在于你这个 SingleList 与其说是个链表,不如说是头指针。
SingleList 怎么能继承 LinkNode 呢?链表是由节点组成的,但链表不是节点,更不是一个特殊的节点。