我有几个C ++编程问题,我希望得到一些帮助。
我从另一个类“sRF_PULSE_ARB”派生一个“SpecialRFPulses”类,我想写一个包装函数“prep_DK(----) )“围绕继承的成员函数”prepArbitrary(---)“。我不知道该怎么做。
这就是我正在尝试的(显然是对prepArbitrary的调用是错误的):
extern MrProtocolData::MrProtData* pOrigProt;
extern MrProtocolData::SeqExpo &rSeqExpo;
class SpecialRFPulses: public sRF_PULSE_ARB
{
public:
SpecialRFPulses(long lDuration_In)
{
lDuration = lDuration_In; //in us
}
~SpecialRFPulses(){
}
bool prep_DK (MrProtocolData::MrProtData &, MrProtocolData::SeqExpo &);
protected:
private:
long lDuration; // in us
long lStartTime_in_us; // in us
};
bool SpecialRFPulses::prep_DK (MrProtocolData::MrProtData &rMrProt, MrProtocolData::SeqExpo &rSeqExpo)
{
NLS_STATUS lStatus;
// create myRFPulseArray and calculate dEffectiveAmplIntegral
// HERE I WOULD HAVE LIKED TO USE prepArbitrary
// Of course, this current syntax is WRONG.
if (!myRFPulse.prepArbitrary(pOrigProt, &rSeqExpo, myRFPulseArray, dEffectiveAmplIntegral))
{
std::cout << "ERROR: "<<myRFPulse.getNLSStatus()<<std::endl;
return (false);
};
return true;
}
此外,与通常引用类MrProtData和SeqExpo的其他函数不同,在第三方库中定义的prepArbitrary会占用指针。
我的问题是:
1)如何围绕继承函数编写包装函数:prepArbitrary?
2)而不是定义&#34; pOrigProt&#34;和&#34; rSeqExpo&#34;作为extern,我可以将它作为参数传递给派生类的构造函数,然后在包装函数中使用它&#34; prepDK(---)?
非常感谢任何帮助。
此致 Dushyant