打印

类的设计问题

[复制链接]
1054|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2012-8-26 15:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个类有个“数组”私有成员:
class MyClass
{
public:
/* === */
private:[]
int *array;
}

在构造函数中会根据一些维数来分配array。现在某另一个类需要频繁访问array的值,我不想用friend。如果设计个接口:
int* GetArray() {return array;}
这样别的代码就可以直接操作array,似乎破坏了类的封装性。

如果我用拷贝
void GetArray(int* DesArray) {for(int i = 0; i < N; i++) DesArray[i] = Array[i];}
这样操作起来似乎又慢又耗内存

有什么好办法?

相关帖子

沙发
无冕之王| | 2012-8-26 15:33 | 只看该作者
用const 指针:

const int* GetArray(){return array;}

使用特权

评论回复
板凳
yybj| | 2012-8-26 15:43 | 只看该作者
如果你的要求不是很严,又经常要访问,为何不直接把它设为public呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝