首页 > 其他分享 >实验6 模板类和文件io

实验6 模板类和文件io

时间:2022-12-04 16:02:41浏览次数:38  
标签:template int Vector 实验 io output include 模板 size

task4

Vector.cpp

#pragma once
using namespace std;
template <typename T>
class Vector{
public:
    Vector(int n);
    Vector(int n, T v);
    ~Vector();
    Vector(const Vector<T>& V);
    int get_size() {
        return size;
    }
    T& at(int i) {
            return x[i];
    }
    T& operator[](int i) {
            return this->x[i];
    }
    template <typename T1>
    friend void output(Vector<T1> V);
private:
    T* x;
    int size;
};
template <typename T>
Vector<T>::Vector(int n) :size(n) {
    x = new T[n];
}
template <typename T>
Vector<T>::~Vector() {
    delete[]x;
}
template <typename T>
Vector<T>::Vector(int n, T v) :size(n) {
    x = new T[n];
    for (int i = 0; i < n; i++)
        x[i] = v;
}
template <typename T>
Vector<T>::Vector(const Vector<T>& V) {
    size = V.size;
    x = new T[V.size];
    for (int i = 0; i < V.size; i++)
        x[i] = V.x[i];
}
template <typename T1>
void output(Vector<T1> V) {
    for (int i = 0; i < V.size; i++)
        cout << V.x[i] << " ";
    cout << endl;
}

task4.cpp

#include <iostream>
#include "Vector.hpp"
void test() {
    using namespace std;
    int n;
    cin >> n;

    Vector<double> x1(n);
    for (auto i = 0; i < n; ++i)
        x1.at(i) = i * 0.7;

   output(x1);

    Vector<int> x2(n, 42);
    Vector<int> x3(x2);

   output(x2);
   output(x3);

    x2.at(0) = 77;
   output(x2);

    x3[0] = 999;
    output(x3);
}

int main() {
    test();
}

 task5

task5.cpp

#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
#include<vector>
void output(std::ostream& out) {
    out << "  ";
    char a='a';
    while (a <= 'z' && a >= 'a') {
        out << setw(2) << a;
        a++;
    }
    out << endl;
    a = 'B';
    for (int i = 1; i <= 25; i++) {
        out << setw(2)<<right << i << " ";
        char b = a;
        while (b<='Z') {
            out << setiosflags(ios_base::right) << b<<" ";
            b++;
        }
        b = 'A';
        while (b<= a-1) {
            out << setiosflags(ios_base::right) << b<<" ";
            b++;
        }
        out << endl;
        a++;
    }
    a = 'A';
    out << setw(2) <<right<< "26 ";
    while (a <= 'Z') {
        out << setiosflags(ios_base::right) << a <<" ";
        a++;
    }
    out << endl;
}
int main() {
    output(cout);
    ofstream out;
    out.open("cipher_key.txt",ios::out);
    output(out);
    out.close();
}

 

 

 

标签:template,int,Vector,实验,io,output,include,模板,size
From: https://www.cnblogs.com/fyh2021/p/16949194.html

相关文章

  • 实验六
    #include<fstream>#include<array>#defineN5intmain(){usingnamespacestd;array<int,N>x{97,98,99,100,101};ofstreamout;ou......
  • django学习笔记-模板语法
    1.参数传递name="张三"alist=['a','b','c']adict={"name":"张三","role":"管理员","gender":"男"}data_list=[{"name":&......
  • springboot+spring-session
    1.实现背景  测试环境上部署了一个单机项目,项目的context-path为空,之后再经过nginx的转发进行部署,项目可以正常进行登录等等一系列操作;生产环境跟测试环境代码完全相......
  • Android Studio 生成 keystore 签名文件及打包验证流程
    前言Android应用必须进行数字签名才可以发布,也就是我们平时所说的使用证书打包然后上传市场,其中数字证书的私钥由应用开发者持有。生成签名的方式有很多种,今天我们来讲......
  • 实验6
    一、实验目的体验模板函数、模板类的编写,从多态角度理解模板函数和模板类(类型作为参数)体验标准I/O流类、文件I/O流类、字符串I/O流类的用法,能正确使用针对问题场景,能......
  • DataCollatorForTokenClassification
    目录DataCollatorMixin类DataCollatorForTokenClassification类DataCollatorMixin类classDataCollatorMixin:def__call__(self,features,return_tensors=None)......
  • 二十三. 单臂路由实验和三层交换实验
    1.单臂路由实验图配置流程第1个里程:配置交换机2接口配置<Huawei>sys[Huawei]sysnameS1[S1]vlanbatch1020[S1]intg0/0/2[S1-GigabitEthernet0/0/2]portl......
  • 遍历List时删除元素导致List抛出java.util.ConcurrentModificationException异常
    1publicstaticvoidmain(String[]args){2List<String>list=newArrayList<String>();3list.add("1");4list.add(......
  • Insertion Sort List
    SourceSortalinkedlistusinginsertionsort.Agraphicalexampleofinsertionsort.Thepartialsortedlist(black)initiallycontainsonlythefirstelem......
  • 了解下Foundation 滑块
    Foundation滑块允许用户通过拖动来选取区间值。滑块可以通过使用<divclass="range-slider"data-slider>创建。在<div>内,添加两个<span>元素:<spanclass="range......