首页 热点资讯 义务教育 高等教育 出国留学 考研考公

请问c++怎么创建一个 特殊类 的 二维数组呀?

发布网友 发布时间:2022-04-23 01:16

我来回答

2个回答

热心网友 时间:2023-10-09 21:39

你怎么建一个int 二维数组,就怎么建 自定义类Dog的二维数组,不同的是int是存储一个整数值,Dog是个对象,那么就需要指针了,否则一个类对象占用内存太多,对象元素排序什么的操作特别麻烦还耗时。

定义元素为整数的二维数组
int a[8][8];
定义元素为Dog指针的二维数组,数组指针pDog,每个元素为 Dog的指针,然后创建只狗。
Dog * pDog[8][8];
for (i=0 ;i<8;i++)
for (j=0;j<8;j++)
pDog[i][j]=new Dog();//对每个元素(DOG指针)赋值,赋值为创建对象返回对象地址。

热心网友 时间:2023-10-09 21:39

一,如nuclear_all(怒) 所言,分配一维数组,自行二维处理。
array[c][r] 等价于 array[c*rows+r] rows,你的二维数组列数
二,使用c99支持的动态数组,不过不是每个编译器都支持
三,动态分配二维数组,不过列数要固定,而且语法麻烦
比如用 malloc:
int (*p)[5] //5列
p=(int * [5])malloc(sizeof(int)*cols*rows)
还是第一种好,是吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com