设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1207|回复: 4
打印 上一主题 下一主题

c++求助,望各位路过的大虾帮忙

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-5 00:22:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如下:
用class来实现可变的二维数组
类型name[m][n],即m,n可变
类型*p,**p必须用
里面必须有
1)构造函数
2)析构函数
3)拷贝构造
希望大虾们不吝赐教,给出原代码,在下不胜感激
5#
发表于 2009-11-5 00:22:20 | 只看该作者
,thanks
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-5 00:22:19 | 只看该作者
class arry2
{
public:
arry2(int first,int second);
~arry2();
arry2(arry2);
int getfirst(){return fir;}
int getsecond(){return sec;}
int getvalue(int m,int n){return arry[m][n];} //获取m行n列处的值
private:
int** arry; //arry[]即是 int* 类型
int fir,sec; //保存数组的两个参数
};
arry2::arry2(int first,int second) //说明:每一次调用new后应该检查分配状况,以下省略
{ fir=first;sec=second;
arry=new int*[fir]; //先分配一个长度为first的整型指针数组
for(int i=0;i<fir;i++) //然后给每个整型指针分配长度为second的数组
arry[i]=new int[sec];
}
arry2::~arry2()
{
for(int i=0;i<fir;i++)
delete [] arry[i];
delete []arry;
}
arry2::arry2(arry2 tocopy)
{
fir=tocopy.getfirst();sec=tocopy.getsecond(); //建立一个与tocopy一样大小的二维数组
arry=new int*[fir];
for(int i=0;i<fir;i++)
arry[i]=new int[sec];
for(int m=0;m<fir;m++) //逐一复制tocopy的值
for(int n=0;n<sec;n++)
{ arry[m][n]=tocopy.getvalue(m,n);}
}
//最近写求行列式的程序时刚好想到这个东东,还盼大虾指教
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-5 00:22:17 | 只看该作者
没人帮忙??
回复 支持 反对

使用道具 举报

2#
发表于 2009-11-5 00:22:15 | 只看该作者
各位帮忙啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 05:40 , Processed in 0.101688 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表