模板类中类数组的初始化问题咨询
模板类中类数组的初始化问题咨询
各位好,我现在碰到一个类成员初始化的问题,特意来请教大家。我目前写了一个继承自csLogicCell的csAndGate类,里面用的是固定数量的成员类对象——mInpA和mInpB,相关代码如下:
class csAndGate : public csLogicCell { public: csAndGate() : mInpA(this), mInpB(this) {} csLogicInp* InpA() { return &mInpA; } csLogicInp* InpB() { return &mInpB; } csLogicOut& OutY() { return mOutY; } private: virtual void AnyInputChanged() override { int inA = mInpA.InpValue; int inB = mInpB.InpValue; // 后续打算根据输入值计算输出,还没写完 } csLogicInp mInpA; csLogicInp mInpB; csLogicOut mOutY; };
现在我想把这些固定的单个成员改成数组形式,甚至希望把这个类改成模板类,让输入的数量可以通过模板参数来指定。但我卡在了数组的初始化这里:每个csLogicInp对象的构造函数都需要传入this指针作为参数,普通的数组初始化方式好像没法直接给每个元素都传这个参数。
想问问大家,这种情况下该怎么正确初始化类里的成员数组?如果是模板类,指定不同数量的输入时,初始化的代码又该怎么写呢?
备注:内容来源于stack exchange,提问作者jokn
相关产品推荐
相关产品推荐

