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.youerw.com 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