首页 > 其他分享 >实验六

实验六

时间:2022-11-30 17:33:39浏览次数:35  
标签:int value Vector 实验 template output size

task4

Vector.hpp:

 1 #pragma once
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 template<typename T>
 5 class Vector
 6 {
 7 private:
 8     int size;
 9     T* value;
10 public:
11     Vector(int s) :size{ s } { value = new T[s]; }
12     Vector(int s, T v);
13     Vector(const Vector<T> &v);
14     ~Vector() = default;
15     int get_size() const { return size; }
16     T& at(int n) { return value[n]; }
17     T& operator[](int n) const { return value[n]; }
18     template<typename T>
19     friend void output(Vector<T>);
20 };
21 template<typename T>
22 Vector<T>::Vector(int s, T v) {
23     size = s;
24     value = new T[size];
25     for (int i = 0; i < size; i++)
26         value[i] = v;
27 }
28 template<typename T>
29 Vector<T>::Vector(const Vector<T>& v) {
30     size = v.size;
31     value = new T[size];
32     for (int i = 0; i < size; i++)
33         value[i] = v.value[i];
34 }
35 template<typename T>
36 void output(Vector<T> v) {
37     for (int i = 0; i < v.size; i++)
38         cout << v.value[i] << ", ";
39     cout << "\b\b \n";
40 }

Vector.cpp:

 1 #include <iostream>
 2 #include "Vector.hpp"
 3 
 4 void test() {
 5     using namespace std;
 6     int n;
 7     cin >> n;
 8 
 9     Vector<double> x1(n);
10     for (auto i = 0; i < n; ++i)
11         x1.at(i) = i * 0.7;
12     output(x1);
13     Vector<int> x2(n, 42);
14     Vector<int> x3(x2);
15     output(x2);
16     output(x3);
17     x2.at(0) = 77;
18     output(x2);
19     x3[0] = 999;
20     output(x3);
21 }
22 
23 int main() {
24     test();
25 }

 

标签:int,value,Vector,实验,template,output,size
From: https://www.cnblogs.com/zhouxv/p/16939198.html

相关文章

  • 数字逻辑实验 9 FPGA数字钟(Verilog)
    目录实验9FPGA数字钟实验分析:实现思路:硬件支持:硬件描述语言代码编写:1顶层模块2时钟分频,(正/倒)计时器模块3输入处理模块in_out.v5......
  • 实验6 模板类和文件I/O
    实验目的体验模板函数、模板类的编写,从多态角度理解模板函数和模板类(类型作为参数)体验标准I/O流类、文件I/O流类、字符串I/O流类的用法,能正确使用针对问题场景,能正确、......
  • web实验四(二)
    web实验四(二)基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:1.Web服务器的客户端服务器,提交程序运行截图2.实现GET即可,请求,响应要符合HTTP协议规范3.服......
  • 实验四 Web服务器2
    基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:1.Web服务器的客户端服务器,提交程序运行截图2.实现GET即可,请求,响应要符合HTTP协议规范3.服务器部署到......
  • 焱融科技为国家重点实验室打造海量高性能存储
    中国科学院大气物理研究所大气科学和地球流体力学数值模拟国家重点实验室(英文缩写LASG)是国家级重点实验室。LASG主要研究方向为地球气候系统模式的研发与应用;天气气候动力......
  • 实验六
    task3task3_1.cpp#include<iostream>#include<fstream>#include<array>#defineN5intmain(){usingnamespacestd;array<int,N>x{97,98,99,......
  • 实验四 Web服务器2
    基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:1.Web服务器的客户端服务器,提交程序运行截图2.实现GET即可,请求,响应要符合HTTP协议规范3.服务器部署到华......
  • 实验四 Web服务器2
    任务详情基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:Web服务器的客户端服务器,提交程序运行截图实现GET即可,请求,响应要符合HTTP协议规范服务器部署到华......
  • 实验四 wrb服务器2
    实验四Web服务器2基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:Web服务器的客户端服务器,提交程序运行截图实现GET即可,请求,响应要符合HTTP协议规范服务......
  • 实验四 Web服务器1-socket编程
    任务详情基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:1.time服务器的客户端服务器,提交程序运行截图2.echo服务器的客户端服务器,提交程序运行截图,服务器......