首页 > 其他分享 >4/25 cpp模板

4/25 cpp模板

时间:2023-04-25 23:02:09浏览次数:49  
标签:aa 25 arr capacity tail myarr cpp 模板 size

template<class T>
class myarr {
    int capacity;
    int size;
    T* arr;
public:
    myarr(int a)
    {
        arr = new T[a];
        size = 0;
        capacity = a;
    }

    myarr(myarr<T>& a)
    {
        arr = new T[a.capacity];
        size = a.size;
        capacity = a.capacity;
    }
    ~myarr()
    {
        if (arr != NULL)
        {
            delete[] arr;
            size = 0;
            capacity = 0;
        }
    }
    myarr& operator=(myarr<T>& a)
    {
        if (arr != NULL)
        {
            delete[] arr;
            size = 0;
            capacity = 0;
        }
        arr = new T[a.capacity];
        capacity = a.capacity;
        size = a.size;
        return *this;
    }
    void tail_insert(T& a)
    {
        if (size == capacity)
        {
            cout << "已经满了,不能再插了" << endl;
            return;
        }
        arr[size] = a;
        size++;
    }
    void tail_delete()
    {
        if (size == 0)
        {
            cout << "没有可以删的" << endl;
            return;
        }
        size--;
    }
    T& operator[](int n)
    {
        if (n > size)
        {
            cout << "超范围了" << endl;
        }
        return arr[n];
    }
};

class people {
    int id;
    string name;
public:
    people() {}
    people(int id_, string name_) :id(id_), name(name_) {}
    void display()
    {
        cout << "学号是:" << id << "      姓名是:" << name << endl;
    }
};


void test()
{
    people a(50, "Michelle");
    people b(49, "tom");
    people c(48, "Adam");
    
    myarr<people> shuzu(3);
    myarr<people> aa = shuzu;
    aa.tail_insert(a);
    aa.tail_insert(b);
    aa.tail_insert(c);
    aa[0].display();
    aa.tail_delete();
    aa[3].display();
}

int main()
{
    test();
    return 0;
}

 

标签:aa,25,arr,capacity,tail,myarr,cpp,模板,size
From: https://www.cnblogs.com/wlxdaydayup/p/17354273.html

相关文章

  • 4月25号总结
    今天老师专门找了几个组讨论问题,非常幸运,我们就在其中,老师对我们的选题作了详细的分析划分了我们需要做什么,完成什么功能,主要分为以下几点:1、首先要把图片中表格的信息存储到数据库中,只有存到数据库里了,才有后面对数据的一系列操作2、添加历史记录,标题,关键字,供用户更方便的使用......
  • NC20259 [SCOI2007]降雨量
    题目链接题目题目描述我们常常会说这样的话:“X年是自Y年以来降雨量最多的”。它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年。例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自......
  • 2023.4.25-人月神话-4月份读后感3
    最近,我阅读了人月神话的下一部分,我有了许多的感悟。过去,我对于自顶向下的设计不够重视。好的自顶向下设计从几个方面避免了bug。首先,清晰的结构和表达方式更容易对需求和模块功能进行精准的描述。其次,模块分割和模块独立性避免了系统级的bug。另外,细节的隐藏使结构上的缺陷更加容......
  • 总结20230425
    代码时间(包括上课):2h代码量(行):100行博客数量(篇):1篇相关事项:1、今天进行了数据库的上机,进行了SQL语句的复习。2、今日进行了python的上机,进行了python面向对象的知识的练习。3、今天进行了四级分数的查询,很好!过了!。......
  • 2022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个
    2022-04-25:给定两个长度为N的数组,a[]和b[]也就是对于每个位置i来说,有a[i]和b[i]两个属性ia[i]b[i]ja[j]b[j]现在想为了i,选一个最好的j位置,搭配能得到最小的如下值:(a[i]+a[j])^2+b[i]+b[j]我们把这个最小的值,定义为i的最in值比如:a={2,3,6,5,1......
  • 团队项目4.25开会
    下午听了老师叙述的项目报告,确立了项目发展方向,后经过与其他组讨论,确定了大致内容,通过调用百度的接口对照片中的数据进行读取,详细内容上传数据库,这点已经可以实现,因为是工厂项目,所以应该每天至少有一张数据需要上传,进行分类按时间类型分类,可进行日、周、月查看,纵向延申,对数据进......
  • 2023.4.25——软件工程日报
    所花时间(包括上课):4h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习并开会。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;7.了解了一些考研......
  • 2023.4.25
    1#include<iostream>2usingnamespacestd;3//利用多态,实现计算器4//多态的好处5//1、组织结构清晰6//2、可读性强7//3、对于前期和后期扩展以及维护性高8classAbstractCalculator9{10public:11intm_Num1;12intm_Num2;13virtu......
  • 每日总结2023-04-25
    今天无事发生在讨论完老师对于随车买的意见后,意识到了要贴近显示,软件是为了懒人而生,很大程度上不能方便快捷的软件就是败笔。经过讨论,随手买可以加上智能一键补货,车载web端可以加上点歌功能、语音识别购买等项目。 ......
  • 4.25每日总结
    今天做了什么:存储图片到mysql数据库和从mysql读取图片并显示,尝试调用智能裁剪接口,学习新版web,掌握了sql中的连接查询结果函数遇到了哪些困难:调用返回数据尝试解析明天打算做什么:继续学习web,将app的存储图片和显示功能实现......