首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么实现类复制

2012-05-14 
如何实现类复制请教高手,如何实现类复制?假设有类A,它有静态方法,还调用另一个类B的一个对象b的方法。如何

如何实现类复制
请教高手,如何实现类复制?
假设有类A,它有静态方法,还调用另一个类B的一个对象b的方法。
如何实现类A的复制?就是说类A的2个对象,这4个对象调用任何方法时,彼此毫不相干?

[解决办法]
拷贝类的实体吧。让他们成为相互独立的对象。
[解决办法]
不太明白你的意思。

静态方法只能更改静态数据成员的值。如果有超过一个实例则它们必定相关。要让这些对象互不关联很容易,但要让它们的静态方法也不关联就不可能了。

再说复制类干啥?类自己又没有产生出实例来,都只是些定义,怎么复制?

我想,你思路走错了。
[解决办法]
它们注定了不可能毫不相干。因为它们之间的关系太多了。同样是类A的实例,共享同一个A::kk,共有同一个A::increase(),同一时刻它们的getvar()总是相同。

一个简单的int i,j;都能注定i和j不可能毫无相干——因为它们同属int。何况你这个有静态数据成员和静态成员函数的A所实例化出来的a1 a2呢?

如果你指的是不要它们共享kk值,那唯一的办法就是别把这个值设置成static的。静态数据成员是属于类的,所有该类的对象都共享同一个值。

热点排行