C++实现所谓的反序输出问题
编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):
template <class T, int n> class tmplt {
 T arr[n];    n个T类型的数据存放于数组arr之中
public:
 void dataIn();   从键盘输入n个T类型数据放入arr数组中
 void reverseOut(); 将arr数组中的数据按输入的相反顺序输出
};
 而后编制主函数,将类模板实例化为某个具体的类并说明类对象,之后通过对象调用其负责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。
18.2概要设计:
本程设计思路: 实现所谓的反序输出还是很简单的,用模板的话,那就将类模板实例化为某个具体的类并说明类对象,之后通过对象调用其负责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。实现起来还是很简单的。
18.3   详细设计与编码:
见上传程序。 
18.4  调试分析:
      这题基本没有什么的问题。 
程序执行的结果:
18.5   用户使用说明:
      按提示输入数组,选择操作。 
18.6  设计心得:
     如果是单写一个程序的话,那如果使用模板感觉有点多余了。但如果是比较大,常使用的功能,那用模板还是挺方便的
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn     void reverseout();
};
template <class T>
void tmplt<T>::datain(){//生成数组的操作
 cout<<"输入数组的大小"<<endl;
 cin>>n;
 array=new T[n];
 cout<<"输入各数组的数值"<<endl;
 for(int i=0;i<n;i++)
  cin>>array[i];
}
template <class T>
void tmplt<T>::reverseout(){//反向输出数组
 cout<<"反序后输出的数组为"<<endl;
 for(int i=n-1;i>=0;i--)
  cout<<array[i]<<setw(3);
 cout<<endl;
}
void main(){
 tmplt <double> array;
 int select=-1;
 while(select!=2){
  cout<<"请选择您要的操作:1.开始   2.退出"<<endl;
  cin>>select;
  switch(select){
   case 1:
   array.datain();
   array.reverseout();
   break;
   case 2:
   select=2;
   break;1837