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],如何利用构造函数对这个数组进行赋值呢?或者有其他可以通过类定义任意大小的二维数组的方法么,请教。。。。
展开
 我来答
伯赐邝弘厚
2019-01-29 · TA获得超过1088个赞
知道小有建树答主
回答量:1344
采纳率:100%
帮助的人:6.1万
展开全部
你好:
1、你可以建立双层循环,来进行赋值。2、你可以将数组首地址给一个指针,然后一个单循环赋值,循环次数是你所有数值的个数,记得指针自加。
祝你好运!
TableDI
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT... 点击进入详情页
本回答由TableDI提供
百度网友6fe74e2
2013-04-18 · TA获得超过6592个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:243万
展开全部
动态分配内存
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类型要匹配好。
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a03fc8f
2013-04-18
知道答主
回答量:26
采纳率:0%
帮助的人:8万
展开全部
你用for语句循环赋值 或者逐个赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nyhujx
2013-04-18 · TA获得超过147个赞
知道小有建树答主
回答量:68
采纳率:0%
帮助的人:66.9万
展开全部
我给你发个链接,这里边说的很清楚http://www.cnblogs.com/bigshow/archive/2009/01/03/1367661.html
另外其中哪一种方法,都可以在构造函数里,分配空间后通过arr[i][j]进行赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式