围绕继承函数编写包装函数

时间:2014-08-08 10:01:44

标签: c++ inheritance extern

我有几个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

0 个答案:

没有答案