设计一个矩阵类CMetrix,数据成员包含行数、列数,以及元素首地址

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:54:06
设计一个矩阵类CMetrix,数据成员包含行数、列数,以及元素首地址,重载[]运算符,要求对于任意CMetrix的对象m,m[i][j]返回距阵行下标为i,列下标为j的元素,如果下标越界,要有相应的异常处理,在程序中要求使用模板。

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
template <class T>
class CMetrix
{
private:
int hangshu;
int lieshu;
T **content;// T[0][0]首地址
public:
CMetrix(int m=10,int n=10)
{
hangshu=m;
lieshu=n;
content=new T*[m];
for(int i=0;i<m;i++)
content[i]=new T[n];
}
~CMetrix()
{
delete[] content;
}
T* operator[](int hang)//重载[]
{
assert(hang>=0&&hang<hangshu);//下标越界处理
return content[hang];
}
};
main()
{
CMetrix<int> m(5,5);
m[1][2]=5;
m[2][3]=m[1][2];
printf("%d",m[2][3]);
}

去我的网站下吧.里面有:http://super_admi.zziyuan.com