c++ - 将 C++ 函数设为虚函数时出错

标签 c++

错误状态:
“错误:虚拟外部类定义”

有问题的 Cpp 成员:

virtual void Account::creditBalance(double plus)
{
   if(plus > 0)
      balance += plus;
   else
      cout << "Cannot credit negative.";
}

virtual void Account::debitBalance(double minus)
{
   if(minus <= balance)
      balance -= minus;
   else
      cout << "Debit amount exceeded account balance.";
}

其余代码在这里(虽然我不确定是否有必要):http://pastebin.com/de5e9f77

最佳答案

简单地从方法定义中剥离虚拟。 virtual 关键字仅在声明时是必需的。

例子:

class Account {
public:
  virtual void creditBalance(double);
  virtual void debitBalance(double);
};

void Account::creditBalance(double plus)
{
   if(plus > 0)
      balance += plus;
   else
      cout << "Cannot credit negative.";
}

void Account::debitBalance(double minus)
{
   if(minus <= balance)
      balance -= minus;
   else
      cout << "Debit amount exceeded account balance.";
}

关于c++ - 将 C++ 函数设为虚函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1862360/

相关文章:

c++ - GDB 提示缺少 raise.c

c++ - C/C++ 新手使用 Android NDK 移植 Legacy 代码,出现编译错误

c++ - MFC如何通知文件改变(并显示*号)

c++ - C++ 11 中专用模板的名称别名

c++ - OpenGL实例化绘图如何处理顶点输入限制

c++ - 如何使用 C++ 在 cocos2d-x ios 游戏中启用多点触控

c++ - C++中的并发队列

c++ - 使用ptrace时mmap的返回值

c++ - 将模板化类型与 C++ 中的特定类/类型进行比较

c++ - 使用 Visual Studio C++ 进行单元测试时链接器错误