开发者社区> 问答> 正文

模板类继承,派生类要用protected 成员出错 400 请求报错 

#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;}
}
};

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

展开
收起
kun坤 2020-05-29 22:45:07 432 0
1 条回答
写回答
取消 提交回答
  • 加一个作用域 setlist<Type>::试试,###### 这样好了谢谢 但是标准的c++不用这样表示~这只是compiler的问题?

    2020-05-29 22:45:14
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
继承与功能组合 立即下载
低代码开发师(初级)实战教程 立即下载