C++ 想取类的私有数据成员的地址

如果想通过成员函数实现取地址,成员函数中的地址变量是否必须为类内私有数据?... 如果想通过成员函数实现取地址,成员函数中的地址变量是否必须为类内私有数据? 展开
 我来答
kenlee_gz
2012-09-27 · TA获得超过494个赞
知道小有建树答主
回答量:457
采纳率:33%
帮助的人:354万
展开全部
不一定啊,公有数据,保护数据都可以的。你想取什么数据地址那就使用对应的数据。
追问
那成员函数里能使用类外变量么?或者说,我想把地址变量设为类外变量。那在成员函数中取完的地址,如何赋给类外的地址变量?谢谢
shaxing1020
2012-09-27
知道答主
回答量:13
采纳率:0%
帮助的人:1.6万
展开全部
类内的任何类型变量都可以。
如果用类外变量,最方便的是将要用的变量声明为static。但是违背了面向对象的思想。
如果你使用类外变量,则应将类外变量所在的类的指针传给引用函数。
当然,如果类外变量所在的类比较简单,你也可以把这个类变为成员函数所在类的内部类。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舒心还飒爽丶彩旗x
2012-09-27 · TA获得超过1545个赞
知道小有建树答主
回答量:1594
采纳率:75%
帮助的人:745万
展开全部
这么做一点意义也没有。要想实现的话用全局变量也可以,或者弄个函数返回地址就行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xingyunbuzui
2012-09-27 · TA获得超过1160个赞
知道小有建树答主
回答量:346
采纳率:100%
帮助的人:388万
展开全部
权限和变量内存空间占用无关。

不用限定权限。不过这样,相当于完全跳过类的权限设置。
破坏类的封装性了,这种C语言式的思维,完全不建议在C++中使用。
(虽然编译器允许,因为C++是多模式语言,并兼容C语言)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bing_loves_LT
2012-09-27 · TA获得超过194个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:110万
展开全部
private:
double m_data;
public:
double& getdataaddress()const
{
return &m_data;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式