任务4
#include <iostream> #include "Vector.hpp" using namespace std; template<typename T> void output(const Vector<T>& v){ for(auto i=0;i<v.get_size();i++){ cout << v.at(i) << ", "; } cout << "\b\b \n"; } 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(); }View Code
#include<iostream> #include<stdexcept> #include <cassert> using namespace std; template<typename T> class Vector { private: int size; T* ptr; public: Vector(int size) { if(size<0) throw std::length_error("vector constructor:negative size"); this->size = size; ptr = new T[this->size]; } Vector(int size, T value) { if(size<0) throw std::length_error("vector constructor:negative size"); this->size = size; ptr = new T[size]; for (auto i = 0; i < size; i++) { ptr[i] = value; } } Vector(const Vector<T>& x) { size = x.size; ptr = new T[size]; for (auto i = 0; i < size; i++) { ptr[i] = x.ptr[i]; } } ~Vector() { delete[] ptr; } int get_size() { return size; } T& at(int i) { assert(i >= 0 && i < size); return(ptr[i]); } T& at(int i) const { assert(i >= 0 && i < size); return(ptr[i]); } T& operator[](int i) { return ptr[i]; } };View Code
任务5
#include<iostream> #include<fstream> #include<iomanip> using namespace std; void output(std::ostream& output) { output << " "; for(int i=97;i<123;i++) { output << setw(2) << char(i); } output << endl; for(int i=1;i<=26;i++) { output << setw(2) << i; for(int j=i;j<i+26;j++) { output << setw(2) << char(65 + j % 26); } output << endl; } } int main(){ output(cout); ofstream outFile("cipher_key.txt"); output(outFile); outFile.close(); return 0; }View Code
标签:int,Vector,实验,output,include,ptr,size From: https://www.cnblogs.com/xun-1/p/17909120.html