首页 > 编程语言 >原型模式C++

原型模式C++

时间:2022-10-09 22:11:24浏览次数:59  
标签:vector const int 模式 len Vector 原型 C++ 向量

[实验任务一]:向量的原型

用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。

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

 

 

 

 

 

标签:vector,const,int,模式,len,Vector,原型,C++,向量
From: https://www.cnblogs.com/rongzhang/p/16773880.html

相关文章

  • 02@Docker网络介绍及网络模式的使用
    文章目录​​Docker网络的介绍​​​​一、Docker网络原理​​​​1、docker网络介绍​​​​2、Docker网络原理​​​​二、docker网络基础​​​​【网络命名空间】​​​......
  • 单例模式
    publicclassSingleton{privatestaticclassSingletonHolder{privatestaticfinalSingletonINSTANCE=newSingleton();}privateS......
  • 面试官:工厂方法模式是什么?
    真正的大师永远怀着一颗学徒的心吃不了学习的苦就要吃生活的苦文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟!回复【项目......
  • C++入门到理解set/multiset容器、pair对组
    一:基本概念在插入元素的时候会自动排好序,比如插入的是1,3,4,2,打印是1,2,3,4.底层是通过二叉树结构实现的,set容器不允许有重复的元素,但是multiset允许有元素重复。二:构造,遍历,赋值#i......
  • c++模版
    1.什么是模版?生活中比如常用的ppt模版,年终报告模版等,共有的特性通用性、不能直接使用、不是万能的2.c++中的模版c++处理面向对象编程思想还有面向泛型编程,面向泛型编程主要......
  • c++面向对象概述、内存分析、引用、函数
    1.c++内存分区模型c++程序在运行的过程中,内存会被划分为以下四个分区代码区:程序的所有程序的二进制代码,包括注释会被放到此区全局区:存放静态变量、全局变量、常量(字符串常量......
  • C++函数
    目录​​函数作用​​​​函数定义​​​​函数声明​​​​函数调用​​​​函数值传递​​​​函数常见的样式​​​​函数的分文件书写​​函数作用将经常使用的代码封装......
  • C++数据类型
    目录 ​​1.数据类型概述​​​​2.基本的内置类型​​​​整型​​​​实型(浮点型)​​​​字符型​​​​转义字符​​​​字符串型​​​​c风格的字符串​​​​c++风......
  • C++数组
    概述C++支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个......
  • C++运算符
    目录 ​​算术运算符(进行四则运算)​​​​赋值运算符(表达式的值赋给变量)​​​​比较运算符(表达是比较,返回一个真值或假值)​​​​逻辑运算符(返回表格式的结果真或......