模板类继承,派生类要用protected 成员出错

sandsam 发布于 2014/07/03 14:41
阅读 126
收藏 0
#include <iostream>
using namespace std;

template <class Type>
class setlist {
    
    
public:
    setlist(int maxsize):size(0),maxsize(maxsize){
        p=new Type[maxsize];
    }
    ~setlist(){delete []p;}
    int Listsize()const{return size;}
    int ListEmpty()const{return !size;}
    int Find(Type &item)const;
    Type GeteDate(int pos)const{
        
    if (pos<0||pos>=size) {
            cerr<<"out of size"<<endl;return 0;}
    else return p[pos];
        return p[pos] ;}
    
    void Insert(const Type&item){
        if (size>=maxsize) {
            cerr<<"out of size"<<endl;}
        else p[size++]=item;}
    
    int Dete(const Type &item);
    
    
    void ClearList(){size=0;}

protected:

    Type *p;
    int size,maxsize;// 节点,最大节点
    
    
};



//------------------------------------

template <class Type>
class orderlist:public setlist<Type> {
    
    
public:
    orderlist(int sz):setlist<Type>(sz){}
    int Insert(const Type&item){
        cout<<size;
        if(size >maxsize-1){
        cerr<<"out of size"<<endl;return -1;
    }
        
        
    else{
        
        int j=0;
        for (j; j<=size-1&&p[j]<=item; j++);
        for (int k=size; k<j; k--) {
            p[k]=p[k-1];
        }
        p[j]=item;return 1;}
}
};










我为啥我的模板类继承 他要说是数据成员没有申明啊



加载中
0
还没死
加一个作用域 setlist<Type>::试试,
0
s
sandsam

这样好了谢谢 但是标准的c++不用这样表示~这只是compiler的问题?

返回顶部
顶部