编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和
#include<iostream> #include<iomanip> using namespace std; const int n=8; template<class T> class Array{ public: Array(T *p) { set=p; } ~Array(){} void inversion();//倒置 T sum();//求和 void seek(T h);//查找 void show();//显示 private: T *set; }; template<class T> void Array<T>::inversion() { cout<<"数组倒置后为:"; for(int i=n-1;i>=0;i--) cout<<setw(5)<<set[i]; cout<<endl;; } template<class T> T Array<T>::sum() { T sum=0; for(int i=0;i<n;i++) { sum=sum+set[i]; } cout<<"该数组元素的和为:"<<sum<<endl; return 0; } template<class T> void Array<T>::show() { cout<<"数组:"; for(int i=0;i<n;i++) cout<<setw(5)<<set[i]; cout<<endl; } template<class T> void Array<T>::seek(T h) { int i; for(i=0;i<n;i++) if(h==set[i]) { cout<<h<<"是数组的第"<<i+1<<"个元素。"<<endl; break; } if(h!=set[i]) cout<<h<<"不属于该数组的元素。"<<endl; } int main() { int a[n]={1,2,3,4,5,6,7,8}; double b[n]={8,7,6,5,4,3,2,1}; Array<int>arry(a); Array<double>arrt1(b); arry.show(); arry.inversion(); arry.seek(3); arry.sum(); cout<<"**************************"<<endl; arrt1.show(); arrt1.inversion(); arrt1.seek(78); arrt1.sum(); system("puause"); return 0; }