C++二维数组赋值
定义了一个类template<typenameT>classblock{intM;intN;T**arr;}本意是想定义一个大小可控制的二维数组arr[M][N],如何利...
定义了一个类 template<typename T>
class block{
int M;
int N;
T **arr;
}
本意是想定义一个大小可控制的二维数组arr[M][N],如何利用构造函数对这个数组进行赋值呢?或者有其他可以通过类定义任意大小的二维数组的方法么,请教。。。。 展开
class block{
int M;
int N;
T **arr;
}
本意是想定义一个大小可控制的二维数组arr[M][N],如何利用构造函数对这个数组进行赋值呢?或者有其他可以通过类定义任意大小的二维数组的方法么,请教。。。。 展开
4个回答
TableDI
2024-07-18 广告
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT...
点击进入详情页
本回答由TableDI提供
展开全部
动态分配内存
template<typename T> block::block(int m,int n)
{
int i;
M=m;
N=n;
arr=new T*[m];
for(i=0;i<m;i++)
arr[i]=new T[n];
}
生成对象时,直接传入M,N的值就行了。
template<typename T> block::block(int m,int n)
{
int i;
M=m;
N=n;
arr=new T*[m];
for(i=0;i<m;i++)
arr[i]=new T[n];
}
生成对象时,直接传入M,N的值就行了。
更多追问追答
追问
我的目的是想将主函数中的一个已赋值的二维数组传给**arr,不仅仅是确定二维数组的大小啊,构造函数不应该是三个变量 block::block(int m,int n, T array[][])或怎样的么
追答
哦,你想构造同时给生成的二维数组元素赋值是吧?
template block::block(int m,int n,T **ar)
{
int i,j;
M=m;
N=n;
arr=new T*[m];
for(i=0;i<m;i++)
arr[i]=new T[n];
for(i=0;i<M;i++)
for(j=0;j<N;j++)
arr[i][j]=ar[i][j]; //直接赋值就行了。当然你的ar类型要匹配好。
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用for语句循环赋值 或者逐个赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给你发个链接,这里边说的很清楚http://www.cnblogs.com/bigshow/archive/2009/01/03/1367661.html
另外其中哪一种方法,都可以在构造函数里,分配空间后通过arr[i][j]进行赋值
另外其中哪一种方法,都可以在构造函数里,分配空间后通过arr[i][j]进行赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询