C# 问题。
我有一个继承层次结构,如下所示:
BaseController
Object1Controller
Object2Controller
Object3Controller
Object3_1Controller
对象 1 2 和 3 的实例使用基本控制器中的值计算值,但对象 3_1 没有。
这些对象可以附加其他对象,这些对象会在一段时间内修改基本值,然后将它们恢复为缓存值。(忽略这个 OO 噩梦的可怕影响:P)
我想做的是这样的:
class modifier<T>
T* pointerToValue
void assignModifiable(T*)
这样每个可修改的类都会创建一个修饰符并让它指向它想要修改的变量。c++ 等价物将是这样的:
template <class T> class ModifierInterface
{
T* modifiableVariable;
void setModifier( T &target )
{ modifiableVariable = target }
void changeModifiable( T val )
{ modifiableVariable = val }
}