#include<fstream> #include<iostream> #include<bits/stdc++.h> using namespace std; void output(ofstream &out, string To = "con"){ out.open(To); if(!out.is_open()){ cout << "open fail!!\n"; return ; } out << " "; for(char c = 'a'; c <= 'z'; c ++) out << ' ' << c; out << endl; for(int i = 1; i <= 26; i ++){ out << setw(2) << i; for(int j = 1; j <= 26; j ++) out << ' ' << (char)((j+ i - 1) % 26 + 'A'); out << endl; } out.close(); } int main(){ ofstream out; output(out); output(out, "cipher_key.txt"); }
hpp
#pragma once #include<iostream> #include<cassert> using namespace std; // delaration of template class template<typename T> class Vector { public: Vector(int n) :size{ n } { p = new T[n]; } Vector(int n, T value) :size{ n } { p = new T[n]; for (int i = 0; i < size; i++) { p[i] = value; } } Vector(const Vector& v) :size{ v.size } { p = new T[size]; for (int i = 0; i < size; i++) { p[i] = v.p[i]; } } ~Vector() { delete[] p; } int get_size() { return size; } T& at(int index) { assert(index >= 0 && index < size); return p[index]; } T& operator[](int index) { assert(index >= 0 && index < size); return p[index]; } template<typename T1> friend void output(const Vector<T1>& v); private: int size; T* p; }; template<typename T1> void output(const Vector<T1>& v) { for (int i = 0; i < v.size; i++) { cout << v.p[i] << " ,"; } cout << endl; }
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(); }
标签:index,int,Vector,实验,output,include,size From: https://www.cnblogs.com/pdywsf/p/16962602.html