首页 > 其他分享 >实验6 模板类、文件I/O和异常处理

实验6 模板类、文件I/O和异常处理

时间:2023-12-17 09:13:14浏览次数:23  
标签:文件 index Vector 实验 output include data 模板 size

实验任务4

 1 #define VECTOR_HPP
 2 #include <iostream>
 3 #include <stdexcept>
 4 using namespace std;
 5 template <typename T>
 6 class Vector {
 7 private:
 8     T* data; 
 9     size_t size; 
10 public:
11     Vector(size_t a) : size(a) {
12         data = new T[size];
13     }
14     Vector(size_t a, const T& value) : size(a) {
15         data = new T[size];
16         for (size_t i = 0; i < size; ++i) {
17             data[i] = value;
18         }
19     }
20     Vector(const Vector& other) : size(other.size) {
21         data = new T[size];
22         for (size_t i = 0; i < size; ++i) {
23             data[i] = other.data[i];
24         }
25     }
26     ~Vector() {
27         delete[] data;
28     }
29     size_t get_size() const {
30         return size;
31     }
32     T& at(size_t index) {
33         if (index < size) {
34             return data[index];
35         } else {
36             throw out_of_range("Index out of range");
37         }
38     }
39     T& operator[](size_t index) {
40         if (index < size) {
41             return data[index];
42         } else {
43             throw out_of_range("Index out of range");
44         }
45     }
46     friend void output(const Vector& vec) {
47         for (size_t i = 0; i < vec.size; ++i) {
48             cout << vec.data[i] << ',';
49         }
50         cout << endl;
51     }
52 };
Vector.hpp
 1 #include <iostream>
 2 #include "Vector.hpp"
 3 void test() {
 4     using namespace std;
 5     int n;
 6     cin >> n;
 7     Vector<double> x1(n);
 8     for(auto i = 0; i < n; ++i)
 9         x1.at(i) = i * 0.7;
10     output(x1);
11     Vector<int> x2(n, 42);
12     Vector<int> x3(x2);
13     output(x2);
14     output(x3);
15     x2.at(0) = 77;
16     output(x2);
17     x3[0] = 999;
18     output(x3);
19 }
20 int main() {
21     test();
22 }
task4.cpp

实验任务5

 1 #include<iostream>
 2 #include<iomanip>
 3 #include<fstream>
 4 
 5 using namespace std;
 6 
 7 void output(ostream &out) {
 8     for(int i=0;i<=26;i++){
 9         for(int j=0;j<=26;j++)
10         {
11             char m,n;
12             if(i==0&&j==0){
13                 char t = ' ';
14                 out<<setw(2)<<t;
15             }
16             else if(j==0&&i!=0){
17                 out<<setw(2)<<i;
18             }
19             else if(i==0&&j!=0){
20                 char m='a'+j-1;
21                 out<<setw(2)<<m;
22             }
23             else if(i!=0&&j!=0){
24                 char n=(i+j-1+26)%26+'A';
25                 out<<setw(2)<<n;
26             }
27 
28         }
29         out<<endl;
30     }
31 }
32 int main(){
33 
34     output(cout);
35 
36     ofstream outFile("cipher_key.txt");
37     output(outFile);
38     outFile.close();
39 
40     return 0;
41 }
task5.cpp

 

标签:文件,index,Vector,实验,output,include,data,模板,size
From: https://www.cnblogs.com/xlhc/p/17908755.html

相关文章

  • 实验三-电子公文传输系统1-个人贡献
    实验三-电子公文传输系统1-个人贡献任务详情1简述你完成的工作2你们小组总共的代码行数,你贡献的代码行数?相关代码链接?3你们小组总共的文档数?你贡献的文档数?相关链接?主要完成的工作个人主要完成的工作是扮演了项目经理和产品经理的角色,具体工作如下:项目经理:根据项目......
  • 实验六 模板类、文件I/O和异常处理
    实验任务4Vector.hpp:1#pragmaonce23#include<iostream>4#include<stdexcept>56usingnamespacestd;78template<typenameT>9classVector10{11private:12intsize;13T*ptr;14public:1516Vector(in......
  • 文件上传
    文件上传流程:客户端将文件数据发送给服务器服务器保存上传的文件数据到服务器端服务器响应给客户端一个文件访问地址测试地址:http://xxx/api/upload键的名称(表单域名称):imagefile请求方法:POST请求的表单格式:multipart/form-data请求体中必须包含一个键值对,键的名称是......
  • 实验三-电子公文传输系统-个人贡献
    (一)简述你完成的工作我的工作主要是项目整体结构的搭建设计,和公文系统功能的实现一mvc模式和服务实现逻辑链设计在设计初期,我们确定好了分工和系统编写的基调。我认为电子公文系统中,可以采用MVC模式进行设计,得到了其他组员的支持,我们的分工也基本根据这个方式而来。其中我主要......
  • 实验6 模板类、文件I/O和异常处理
    任务4#include<iostream>#include<stdexcept>#include<stdlib.h>template<typenameT>classVector{public:friendvoidoutput(constVector<T1>&v);Vector<T>()=default;Vector<T......
  • 实验七
    #define_CRT_SECURE_NO_WARNINGS#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN100typedefstruct{longnumber;charname[N];charclass[N];}student;intmain(){FILE*f......
  • 实验七
    task4code1#include<stdio.h>23intmain(){4FILE*fp;5longcnt=0,c=0;6charch;78fp=fopen("data4.txt","r");9if(fp==NULL){10printf("failedtoopen");1......
  • 第四章:mapper映射文件存放位置、springboot支持事务
    一、mapper映射文件存放位置二、springboot支持事务......
  • 二、SpringBoot的配置文件
    1、核心配置文件properties2、核心配置文件yml3、两种核心配置文件同时存在4、设置maven私服仓库5、多环境下核心配置文件6、多环境下核心配置文件yml7、获取自定义配置8、将自定义配置映射到对象......
  • 一、Spring Boot的概述及pom文件和代码实现
    一、概述和四大特性二、学习创建springboot项目三、项目目录结构和pom文件内容四、springboot继承springmvc-查看springboot父工程pom五、代码的实现......