在基类中定义的纯虚函数Deposit,然后在派生类CSaving中重定义,运行后提示错误,求解。

Saving.obj : error LNK2005: "public: virtual bool __thiscall CSaving::Deposit(double)" (?Deposit@CSaving@@UAE_NN@Z) already defined in OK_1.obj

函数重定义,CSaving::Deposit 已经在别的地方定义了,出现这个问题的原因可能是:

1 在 别的地方定义了 CSaving::Deposit ,

2 把 CSaving::Deposit 定义在头文件里,又没有声明为 inline
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-01
你重复定义了 定义类的时候 最好是加上“头文件卫士” 就是这个:
#ifdefine
#define
....
#endif
等等 以防止重复定义(注:头文件卫士只对内部链接有作用 对外部链接的无效)
相似回答