注册 登录
编程论坛 C++教室

关于类的static成员变量问题

绿茶盖儿 发布于 2018-04-26 10:34, 2079 次点击
遇到一个关于类的static成员变量问题,想请教下论坛里的各位大神,寻求一个解决办法

情况是这样的:
1. 有一个类A,类A中包含类B、类C、类D三个成员变量
2. 类B、类C、类D都继承了类E
3. 类E中只有一些static变量,供类B、类C、类D共享

现在我要实例化n个类A的对象,这n个对象中的类B/C/D都是不同的, 但是他们所继承的E却都是相同的,因为类E中的都是static变量,
但是我希望n个对象中的类E是相互独立,互不影响的,请问这种情况该怎么解决呢?

目前有想到一些办法,但是都不太好
1. 类E不用static变量,把类E的指针作为类B/C/D的成员变量,但是不希望这么改,工程量巨大
2. 将类E中的static变量弄成数组,每个类A的对象包含一个数组索引值,但是改起来也很麻烦

大家还有没有什么其他办法呢?
7 回复
#2
疯狂的小a2018-04-26 14:07
表示看不懂需求。能不能举个例子
#3
绿茶盖儿2018-04-26 18:39
回复 2楼 疯狂的小a
我这问的C++的,版主给我移到JAVA区来了,哎
#4
a3510218172018-04-26 19:01
- -我也看完一脸懵逼!!
#5
疯狂的小a2018-04-26 19:09
看起来也不像C语言呀
#6
绿茶盖儿2018-04-27 11:31
有木有版主能帮我把帖子移到C++区啊
#7
疯狂的小a2018-04-27 14:14
好像没有操作的选项
#8
Jonny02012018-05-03 12:39
静态成员是所有类共用的, 如果继承了直接独立好像不太可能
说实话, 你的需求我看的也不是很懂, 最好是有一个简单的例子解释一下你的需求
如果按照目前我对你的需求的理解, 你是不是可以考虑一下 shared_ptr 中计数器的实现方式应用到这个例子里来
1