实验名称:储蓄账户类
姓名:李玲娅 学号:5090309308 教师名称:翁惠玉 完成日期:2010-4-20
实验目的:
这个实验题目的主要是为了进一步理解一些有关C++类的更多的一些特性,例如static成员的处理等。
过程描述:
一、本实验中主要内容有创建一个SavingAccount类,这个类需要完成以下的功能:
(1) 每一个SavingAccount应该包含一个年利率和帐户余额的数据成员; (2) 提供一个构造函数初始化一个SavingAccount的实例; (3) 每个月结算一次利息,并更新帐户余额信息; (4) 一个更改年利率的方法;
注:年利率因为是所有的SavingAccount共享的,所以可以考虑用static数据成员来实现。
二、本实验中
1、首先定义一个名为account的类,其中数据成员有两个,分别为totle(表示存款余额)和rate(表示年利率)。其中rate用static数据成员来实现。 例:
private:
double totle; //存款额
static double rate; //利率
2、而在public成员中,有四个函数,分别如下: account(double i=0){totle=i;}//构造函数
static void setRate(double newRate) {rate = newRate;}//设置利率函数
void calculate();//计算余额函数 void print();//输出余额函数
3、另外,函数的实现文件如下: void calculate()//计算余额函数 {
totle=totle*(1+rate/12); }
void account::print()//输出余额函数 {
cout< 4、接着用测试程序来验证类的正确性,在测试程序account.cpp中,首先创建两个account类对象,saver1和saver2,根据题意,两者的余额分别为2000.00和3000.00。 例: account saver1(2000.00); account saver2(3000.00); 使用setRate函数将利率设置为0.03,例: account::setRate(0.03); //设置利率 再通过calculate函数分别计算出当月和下月的存款额,例: //本月余额 cout<<\利率为0.03时:saver1本月余额:\ saver1.print(); cout<<\本月余额:\ saver2.print(); //下月余额 saver1.calculate(); cout<<\下月余额:\ saver1.print(); saver2.calculate(); cout<<\下月余额:\ saver2.print(); 再使用setRate函数将利率改变为0.03,例: account::setRate(0.04); //设置利率 再通过calculate函数分别计算出当月和下月的存款额,例: //本月余额 cout<<\利率为0.04时:saver1本月余额:\ saver1.print(); cout<<\本月余额:\ saver2.print(); //下月余额 saver1.calculate(); cout<<\下月余额:\ saver1.print(); saver2.calculate(); cout<<\下月余额:\ saver2.print(); 运行结果如下: 利率为0.03时:saver1本月余额:2000 saver2本月余额:3000 saver1下月余额:2005 saver2下月余额:3007.5 利率为0.04时:saver1本月余额:2005 saver2本月余额:3007.5 saver1下月余额:2011.68 saver2下月余额:3017.53Press any key to continue 三、问题及注意项 1、首先,由于使用static的数据成员,所以,必须要有static的成员函数setRate来改变该数据。 2、其次,静态成员的定义和初始化一般出现在类的实现文件中,而不是在构造函数中。 例: 本次试验中,将初始化放在了main函数之前 。。。 double account::rate=0.00; int main() 。。。 测试结果: 利率为0.03时:saver1本月余额:2000 saver2本月余额:3000 saver1下月余额:2005 saver2下月余额:3007.5 利率为0.04时:saver1本月余额:2005 saver2本月余额:3007.5 saver1下月余额:2011.68 saver2下月余额:3017.53Press any key to continue

