在下面的代码中,cm
变量在堆栈上分配,addConstraints
是方法的原型:
ConstraintManager cm(5);
void addConstraints(ConstraintManager& cm);
当我调用addConstraints时,我想重新初始化函数体内的cm变量。这就是调用它的构造函数,例如像cm(3)
那样重新初始化为包含3而不是5.但是我无法做到这一点,我唯一能做的就是:
ConstraintManager temp(3);
cm = temp;
有没有办法以更简洁的方式实现这一目标?感谢。
答案 0 :(得分:0)
是的,但遗憾的是我无法修改课程
如果没有直接的方法在班级的公共界面中更改该成员,那就意味着,在我的书中,你不应该改变它。
如果你必须,你已经拥有的是这样做的方式,只是更简洁:
cm = ConstraintManager(3);