首页 > 其他分享 >每日总结

每日总结

时间:2023-11-02 09:14:44浏览次数:28  
标签:总结 vector const int 每日 len Vector return

今天我完成了一道软件设计的实验题,运用c++实现一些功能;

  (1)对应的类图:

(2)源代码;

1.浅克隆运行代码:

#include <iostream>
using namespace std;
//向量类
class Vector{
private:
    int *p;
    int len;
public:
    Vector(int len);
    Vector(const Vector &vector);  //拷贝构造函数
    ~Vector();
    int operator[](int i) const { return p[i]; }
    int &operator[](int i){ return p[i]; }
    int length() const { return len; }
};
Vector::Vector(int len): len(len){
    p = (int*)calloc( len, sizeof(int) );
}
//拷贝构造函数
Vector::Vector(const Vector &vector){
    this->len = vector.len;
    this->p = vector.p;
}
Vector::~Vector(){ free(p); }
//打印
void display(const Vector &vector){
    int len = vector.length();
    for(int i=0; i<len; i++){
        if(i == len-1){
            cout<<vector[i]<<endl;
        }else{
            cout<<vector[i]<<", ";
        }
    }
}
int main(){
    Vector v1(10);
    for(int i=0; i<10; i++){
        v1[i] = i;
    }
    Vector v2 = v1;
    v2[6] = 55;
    v2[2] = 20;
    cout<<"浅克隆:"<<endl;
    cout<<"更改copyVector后vector的数据:"<<endl;
    display(v1);
    cout<<"更改copyVector后copyVector的数据:"<<endl;
    display(v2);
    return 0;
}

2.深克隆运行代码:

#include <iostream>
using namespace std;
//向量类
class Vector{
private:
    int *p;
    int len;
public:
    Vector(int len);
    Vector(const Vector &vector);  //拷贝构造函数
    ~Vector();
    int operator[](int i) const { return p[i]; }
    int &operator[](int i){ return p[i]; }
    int length() const { return len; }
};
Vector::Vector(int len): len(len){
    p = (int*)calloc( len, sizeof(int) );
}
//拷贝构造函数
Vector::Vector(const Vector &vector){
    this->len = vector.len;
    this->p =  (int*)calloc( this->len, sizeof(int) );
    memcpy( this->p, vector.p, len * sizeof(int) );
}
Vector::~Vector(){ free(p); }
//打印
void display(const Vector &vector){
    int len = vector.length();
    for(int i=0; i<len; i++){
        if(i == len-1){
            cout<<vector[i]<<endl;
        }else{
            cout<<vector[i]<<", ";
        }
    }
}
int main(){
    Vector v1(10);
    for(int i=0; i<10; i++){
        v1[i] = i;
    }
    Vector v2 = v1;
    v2[6] = 55;
    v2[2] = 20;
    cout<<"深克隆:"<<endl;
    cout<<"更改copyVector后vector的数据:"<<endl;
    display(v1);
    cout<<"更改copyVector后copyVector的数据:"<<endl;
    display(v2);
    return 0;
}
  

 

标签:总结,vector,const,int,每日,len,Vector,return
From: https://www.cnblogs.com/tianminggeng/p/17804629.html

相关文章

  • 每日总结Java设计模式之原型模式
    今天完成了设计模式的原型模式实验用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节简单说就是先创建一个原型类实例,然后通过克隆的方法来复制一个一样的新对象,这个对象和原来......
  • 每日总结11.02
    学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。  Client:package实验7;publicclassClient{    publicstaticvoidmain(Stringa[]){        StudentIDstu1,stu2;        Stringid1,id2;        System.out.pr......
  • 每日总结Java设计模式之单例模式
    今天做了单例模式的实验代码在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式有3个特点:单例类只有一个实例对象;该单例对象必须由单例类自行创建;单例类对外提供一个访问该单例的全局访问点;1.单例模式的......
  • 每日博客
    流计算&FlinkFlink的优势包括高度灵活的流式窗口,同时支持高吞吐,低延迟,高性能,支持有状态计算。典型的时间的事件驱动型应用有:反诈骗,基于规则的报警,业务流程监控,异常检测。流计算的处理流程包括:数据是实时计算,数据实时采集,实时查询服务。流数据的特征:注重数据的整体价值,不过分关......
  • 每日总结22
    SpringBoot的配置文件4.1SpringBoot配置文件类型4.1.1SpringBoot配置文件类型和作用SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。SpringBoot默认会从R......
  • 每日总结
    1、Hive安装第一步:打开SecureCRT8.3软件,在node-01上进入/export/software/目录,指令如下:cd/export/software/1第二步:使用指令rz进行安装包上传,选择安装包apache-hive-1.2.1-bin.tar.gz。apache-hive-1.2.1-bin.tar.gz第三步:上传完毕后将该安装包解压到/export/servers/目录,使......
  • 2023年11月第一周学习总结
    排序归并排序本质是将多个序列进行合并,和快排一样也用的是分而治之的思想,并且它也是基于比较里面较快的算法且能保持稳定性的算法。那么怎么将两个序列合并呢?(假设左右两边已经有序)开辟一个和数组一样大的辅助数组,再设定两个指针,第一个指针指向第一个序列的开头,第二个指针......
  • 每日总结20231101
    代码时间(包括上课)6h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周三,上的是软件构造,软件构造讲的是对于csv文件的读写操作。2、今天下午开会然后上班,把erp的作业也完成了,需要加速看软考了。3、今天还打算看看软件设计师相关的题目,我要过!......
  • 2023-2024-1 20231402《计算机基础与程序设计》第六周学习总结
    2023-2024-120231402《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第6周作业这个作业的目标自学计算机科学概论第7章《C语言程序设计》第5章作业......
  • 2023.11.1——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......