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数组中的数据按输入的相反顺序输出
};
 而后编制主函数,将类模板实例化为某个具体的类并说明类对象,之后通过对象调用其负责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。
程序运行截图
5.2  概要设计
熟练运用for循环。
5.3  详细设计与编码
见上传程序。
5.4  调试分析
这道题目与13题比较相似,以13题为基础,这道题的编写还是比较简单的。
5.5  用户使用说明
根据界面提示,输入想要的数据。
  5.6  设计心得
程序的编写比较简单了,自觉编程能力有所提高。
//********************************************************************************************
//26.编写一个具有如下样式的类模板tmplt,用于实现所谓的反序输出问题,
//其中使用了类型参数T(使所处理的元素类型可变化)以及普通参数n(元素个数也可变化):
//而后编制主函数,将类模板实例化为某个具体的类并说明类对象,
//之后通过对象调用其负责输入数据的成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。
//*********************************************************************************************
#include<iostream>
using namespace std;
template <class T, int n>         //模板类
class tmplt 
{
private:
 T arr[n];
public:
 void dataIn();
原文请找腾讯752018766辣.文-论'文;网http://www.751com.cn  cout<<"输入"<<n<<"个数据:"<<endl;
 for(int i=0;i<n;i++)
  cin>>arr[i];
}
template <class T,int n>
void tmplt<T,n>::reverseOut()          //反向输出
{
 cout<<"反向输出结果为:"<<endl;
 for(int i=n-1;i>=0;i--)
  cout<<arr[i]<<" ";
}
void main()
{
 tmplt<long,7> array;             //可以通过修改n的大小来改变数组的大小
 array.dataIn();                  //一般输入int型数据可以正确反序
 array.reverseOut();
 cout<<endl;}1821