实验13-函数模版与类模版-
题目描述
设计一个矩阵类模板Matrix,支持任意数据类型的数据。
要求至少包含2个成员函数:矩阵转置函数transport、以及打印输出函数print
编写main函数进行测试,调用类的成员函数完成转置和输出。
输入
第一行先输入t,表示有t个测试用例
从第二行开始输入每个测试用例的数据。
首先输入数据类型,I表示int,D表示double,C表示char,接着输入两个参数m和n,分别表示矩阵的行和列
接下来输入矩阵的元素,一共m行,每行n个数据
输出
输出转置后的矩阵
输入样例
2
I 2 3
1 2 3
4 5 6
C 3 3
a b c
d e f
g h i
输出样例
1 4
2 5
3 6
a d g
b e h
c f i
//因为不是n*n矩阵,所以不能简单的a[i][j]=a[j][i],而且要new新的空间,把矩阵的行数据和列数据刷新
#include<iostream>
using namespace std;
template <class Type>
class Martrix
{
Type **a;
int m,n;
public:
Martrix(int mval,int nval,Type **t)
{
int i,j;
m=mval;n=nval;
a=new Type *[m];
for(i=0;i<m;i++)
a[i]=new Type[n];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
a[i][j]=t[i]