调试C ++抽象类实现

时间:2017-04-08 20:15:34

标签: c++ abstract-class

我的抽象类的实现存在问题。我的库的一般结构如下。我写了像

这样的抽象接口类
struct IInstrument
{
    virtual double tst(int i) const = 0;
};

其具体实现类似于

struct subInstrument:IInstrument
{
        virtual double tst(int i) const override {
            const double x = 0.0;
            const double y = 1.0;
            double res = x + y+i;
            return res;
        }
};

实际调用tst例程的第三个结构看起来像

struct model:AbstractModel{
    virtual double GetNumber(IInstrument const& Bond) const override
    {
        double number = Bond.tst(12);
        return number;
    }
};

其中AbstractModel就是 - 正如名称所示 - 模型类的抽象母类。问题是我有很多不同的子仪器,这就是为什么我不想直接在模型类例程getNumber(***)中调用subinstrument。

代码在Visual Studio 2015中编译良好,但调试在某种程度上行为不端。当我通过我的tst例程逐步调试时,忽略变量x和y。绝对有值的唯一变量是i,res最后返回零。 我不确定错误的观点。你们中有谁有想法吗?

谢谢,

0 个答案:

没有答案