运行栈溢出,求大神解决啊
代码如下
#include <iostream>
using namespace std;
class SavingsAccount
{
public:
SavingsAccount(float a){savingBalance=a;}
static void modifyInterestRate(float b)
{annualInterestRate=b;}
float get_savingBalance(){return savingBalance;}
private:
float savingBalance;//当前存款余额
static float annualInterestRate;//年利率
};
float annualInterestRate=0;
int main()
{
float a,b,c;
cout<<"请输入账户saver1,saver2的初始余额:";
cin>>a>>b;
SavingsAccount saver1(a),saver2(b);
cout<<"请输入年利率:";
cin>>c;
saver1.modifyInterestRate(c);
saver2.modifyInterestRate(c);
cout<<"saver1的月利息为:";
cout<<saver1.get_savingBalance()/12<<endl;
cout<<"账户余额为为:";
cout<<saver1.get_savingBalance() +saver1.get_savingBalance()/12<<endl;
cout<<"saver2的月利息为:";
cout<<saver2.get_savingBalance()/12<<endl;
cout<<"账户余额为为:";
cout<<saver2.get_savingBalance() +saver2.get_savingBalance()/12<<endl;
return 0;
}
编译能通过,链接的时候报错了,错误如下
-Configuration: 1111 - Win32 Debug--------------------
Linking...
1111.obj : error LNK2001: unresolved external symbol "private: static float SavingsAccount::annualInterestRate" (?annualInterestRate@SavingsAccount@@0MA)
Debug/1111.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
[解决办法]
float SavingsAccount::annualInterestRate=0;
改下这