我的抽象类的实现存在问题。我的库的一般结构如下。我写了像
这样的抽象接口类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最后返回零。 我不确定错误的观点。你们中有谁有想法吗?
谢谢,