首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

如何计算数组成员的个数

2012-04-07 
怎么计算数组成员的个数在一个类中,通过函数返回了一个数组,函数和数组均为public。在另一个类(两个类不是

怎么计算数组成员的个数
在一个类中,通过函数返回了一个数组,函数和数组均为public。在另一个类(两个类不是继承关系)中,有个函数要用到这个数组。默认传值的时候都是传的指针。不知道sizeof/sizeof的这种方法能不能正确得到数组元素的个数?毕竟两个地方都没有很显式的指明int a[10]这样的,都是用的*a这种形式。该怎么计算数组元素的个数呢?或者怎么从一个类中将这个个数传递到另一个类中呢(函数只能返回一个返回值)?谢谢!

[解决办法]
函数只能返回一个值。如果你想返回很多的数据,可以封装成结构体返回。或者在函数参数里提供一个已经分配存储空间的指针。
[解决办法]
增加一个引用参数吧。
[解决办法]
增加一个成员函数返回数组长度
[解决办法]

C/C++ code
#include<stdio.h>class A{public:    int aa[10];};class B{public:    int bb[20];    void show(A &ca)    {        printf("引用传递后A类对象里的数组大小为:%d\n",(sizeof ca.aa)/sizeof(int));    }    void show2(A *p)    {        printf("指针传递后A类对象里的数组大小为:%d\n",(sizeof p->aa)/sizeof(int));    }};int main(){    A a1;    B b1;    printf("A类里的数组大小为:%d\n",sizeof a1.aa/sizeof(int));    printf("B类里的数组大小为:%d\n",sizeof b1.bb/sizeof(int));    b1.show(a1);    b1.show2(&a1);} 

热点排行
Bad Request.