求助,为什么没有输出??是哪个地方出现问题了?

#include
using namespace std;
class list

{

protected:
int *data;
public:
list()

{


}

};

class set:public list
{

private:
int size;//元素个数
public:

set(int size):list()
{

    this->size=size;
}
void get()
{

    data=new int[size];
    for(int i=0;i<size;i++)
    {
        cin>>data[i];
    }
}
void add(int m)
{
    int* temp = new int[size];
    for(int i=0;i<size;i++)
        temp[i] = data[i];
    temp[size]=m;
    size++;
    data=temp;
}
void del(int m)
{
    for(int i=0;i<size;i++)    
    {
        if(i==m)    
        {
            if(i<size-1)
            {
                 for(int j=i;j<size-1;j++)
                 {
                    data[j]=data[j+1];
                 }
                 size--;
            }
        }
    }
} 
void search(int m)
{
    for(int i=0;i<size;i++)
    {
        if(data[i]==m)
        cout<<"查找到第"<<i+1<<"位"<<endl; 
    }
}
void show()
{
    for(int i=0;i<size;i++)
    {
        cout<<data[i]<<" ";
    }
    cout<<endl;
}

};
int main()
{
list l;
set s(3);
s.get();
s.add(2);
s.show();
s.del(1);
s.show();
s.search(1);
}