📄 26.cpp
字号:
///////////////////////////////////////////////////////////////////////////////////////////////
/*26.编写一个具有如下样式的类模板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数组中的数据按输入的相反顺序输出
};
而后编制主函数,将类模板实例化为某个具体的类并说明类对象,之后通过对象调用其负责输入数据的
成员函数,再通过对象调用另一成员函数按反序输出那些输入数据。
*/
/////////////////////////////////////////////////////////////////////////////////////////////////
#include<iostream>
#include<stdlib.h>
#include<iomanip>
using namespace std;
template <class T>
class tmplt
{
private:
int n;
T *array; // n个T类型的数据存放于数组arr之中
public:
void datain(); //从键盘输入n个T类型数据放入arr数组中
void reverseout(); //将arr数组中的数据按输入的相反顺序输出
};
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(4); //定义输出格式
cout<<endl;
}
void main()
{
cout<<"*****************************欢迎进入加强,提高题26*****************************"<<endl;
tmplt <double> array;
int select=-1;
while(select!=2)
{
cout<<"请选择您要的操作 1.进入算法"<<endl;
cout<<" 2.退出算法"<<endl;
cin>>select;
switch(select)
{
case 1:
array.datain();
array.reverseout();
break;
case 2:
select=2;
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -