不同类如何共享同一个变量
来源:互联网 发布:悦诗风吟 淘宝店怎么开 编辑:程序博客网 时间:2024/06/06 18:27
我需要共享一个复杂的变量
基类:
class A
{
static struct Map{
//.....多个变量
}map[4][4]; //需要共享这个
}
如何在其子类中共享它。
我试过了简单的变量类型如:int ,在基类中初始化,在子类中是能共享的,但这个复杂的怎么弄?
------解决方案--------------------------------------------------------
如果一定要把Map定义在CAnimal内部,那就这样写:
基类:
class A
{
static struct Map{
//.....多个变量
}map[4][4]; //需要共享这个
}
如何在其子类中共享它。
我试过了简单的变量类型如:int ,在基类中初始化,在子类中是能共享的,但这个复杂的怎么弄?
------解决方案--------------------------------------------------------
如果一定要把Map定义在CAnimal内部,那就这样写:
- C/C++ code
class CAnimal{public: static struct Map { int a; string type; bool on; }map[400][400]; static void setMap();};CAnimal::Map CAnimal::map[400][400];void CAnimal::setMap(){ for (int i=0;i<400;++i) for (int j=0;j<400;++j) { map[i][j].a=0; map[i][j].type=""; map[i][j].on=true; }}int main(){ CAnimal::setMap(); return 0;}------解决方案--------------------------------------------------------楼主,其实你这个问题没有描述的很清楚,你的意思是一个父类A,之后两个子类B和C,B和C共享父类的一个成员吗 ?在不知道你意思的情况下我有这个建议,两种方法完成共享:1.利用组合而非继承,B类和C类存同一个A的指针,完成共享2.3楼正解了,单件模式,A类可以类似的这样写,B和C只需要在使用时调用A::Instance()就可以了class A {public: static A *Instance(){ if (NULL == m_pA) { m_pA = new A; } return m_pA; }private: A(){m_pA = NULL;} ~A();private: static A *m_pA;}
- 不同类如何共享同一个变量
- java不同类之间调用同一个常量
- 关于java不同类之间的数据共享
- java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
- 同类对象私有变量
- 求类的对象之间,不同类的对象之间如果共享一个对象的方法
- MongoDB将不同类对象存入同一个Collection
- Qt同一程序下不同类(不同界面、多个界面)之前同步变量方案
- 通过友元函数实现两个不同类中私有成员变量的数据交换
- Linux下两个远程登陆用户如何共享同一个登陆shell
- 如何共享同一个局域网中某台电脑中的文件
- 不同类中的hashcode方法
- 不同类占空间大小
- 如何动态保存不同类的对象的成员函数的地址?--解决
- 如何动态保存不同类的对象的成员函数的地址?--解决(续)
- 如何动态保存不同类的对象的成员函数的地址?--解决
- 如何动态保存不同类的对象的成员函数的地址?--解决(续)
- 同一个路由器共享打印机
- makefile 时出现 undefined reference 错误的可能原因
- poj 3162 树形dp+单调队列 很好的题
- 制作可解压缩的图片
- Python开源抓取框架简单介绍,以及安装(ubuntu)常见问题解决
- Qt Meta Object system 学习(二)
- 不同类如何共享同一个变量
- hdu4196 remoteland
- 为什么说C语言中int的表示范围是-32768~32767?
- 为何多线程就能提高Java程序的执行效率
- LeetCode: Wildcard Matching
- 求类的对象之间,不同类的对象之间如果共享一个对象的方法
- 自定义Struts2标签 ---- 流程回顾
- 微软终于获得UI设计之道了?
- UESTC Journey