全局变量问题。。。

meteormeng 2009-05-18 01:43:00
解决全局变量问题1:

a类:数据idata;
b类:怎么在b类中重新设置更新a类数据idata;

用友元类吗?或者友元函数,子类什么的方法吗?


解决全局变量问题2:
a类:数据idata;
b类:获取a类当前数据idata;

实现:在a类里写一函数,返回值为idata类型,在b类中新建一个a类对象,利用此对象调用相应方法,把返回值赋给b类处理。
这样实现合理不,还有其它方法吗?
...全文
157 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
passionboy03 2009-05-18
  • 打赏
  • 举报
回复
up
[Quote=引用 12 楼 Jalien 的回复:]
看你还有其他的要求不,最好用组合吧,也就是说b类维护a的一个对象(将这个对象设为私有),这样更有利于隐藏实现。
[/Quote]
Jalien 2009-05-18
  • 打赏
  • 举报
回复
看你还有其他的要求不,最好用组合吧,也就是说b类维护a的一个对象(将这个对象设为私有),这样更有利于隐藏实现。
ChanglinZhu 2009-05-18
  • 打赏
  • 举报
回复
学习一下
aaaa3105563 2009-05-18
  • 打赏
  • 举报
回复
帮顶··
wdfdonkey 2009-05-18
  • 打赏
  • 举报
回复
让b类的成员函数声明为a类的友元函数:

A类:private: static TYPE idata;
friend TYPE B::getIdata();

B类:
TYPE getIdata();

TYPE B::getIdata()
{
return A::idata;
}
lpf000 2009-05-18
  • 打赏
  • 举报
回复
B方法好,
cyldf 2009-05-18
  • 打赏
  • 举报
回复
将b类设为a的友元类
meteormeng 2009-05-18
  • 打赏
  • 举报
回复
解决全局变量问题1:
这个回答还是挺模糊的,还没明白过来,
目的是要在b类中处理a类的数据,更新a类的数据。
MichaelBomb 2009-05-18
  • 打赏
  • 举报
回复
a中iData声明为static
在b中用a::iData访问
chenzhp 2009-05-18
  • 打赏
  • 举报
回复
观察者模式
jn989 2009-05-18
  • 打赏
  • 举报
回复
在b中使用a中的idata只要a::idata就好了
Qlaiaqu 2009-05-18
  • 打赏
  • 举报
回复
全局变量设置为静态的不就行了,然后使用一个静态类函数将其封装起来,然后使用a::f()去操作就行了
woods2001 2009-05-18
  • 打赏
  • 举报
回复
赞同方法B
做一个接口来获取a类的私有成有变量是很合理的

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧