银行提供两个账户,一种是活期存款账户,一种是定期存款账户,要求使用派生类的定义方法实现程序
时间: 2024-04-29 20:27:00 浏览: 223
好的,我会根据您的要求回答这个问题。以下是使用派生类的定义方法实现银行账户程序的示例代码:
```
#include <iostream>
using namespace std;
class Account { // 基类 Account
protected:
double balance; // 账户余额
public:
Account(double b) { balance = b; }
virtual void printBalance() { cout << "当前账户余额为:" << balance << endl; }
virtual void deposit(double amount) { balance += amount; }
virtual void withdraw(double amount) { balance -= amount; }
};
class SavingAccount : public Account { // 派生类 SavingAccount
private:
double interestRate; // 存款利率
public:
SavingAccount(double b, double r) : Account(b) { interestRate = r; }
void printBalance() { cout << "当前储蓄账户余额为:" << balance << endl; }
void addInterest() { balance += balance * interestRate; }
};
class CheckingAccount : public Account { // 派生类 CheckingAccount
private:
double fee; // 手续费
public:
CheckingAccount(double b, double f) : Account(b) { fee = f; }
void printBalance() { cout << "当前支票账户余额为:" << balance << endl; }
void deductFee() { balance -= fee; }
};
int main() {
SavingAccount s(1000, 0.01);
CheckingAccount c(2000, 5);
s.printBalance();
c.printBalance();
s.deposit(500);
s.addInterest();
c.withdraw(100);
c.deductFee();
s.printBalance();
c.printBalance();
return 0;
}
```
在这个示例中,我们定义了一个基类 `Account`,它包含了账户余额以及一些基本操作方法,如 `deposit` 和 `withdraw`。然后,我们定义了两个派生类 `SavingAccount` 和 `CheckingAccount`,它们分别代表了储蓄账户和支票账户。这两个派生类都重写了基类的 `printBalance` 方法,以便打印出正确的账户类型和余额。此外,`SavingAccount` 还实现了一个 `addInterest` 方法,用于计算储蓄账户的利息;`CheckingAccount` 实现了一个 `deductFee` 方法,用于扣除支票账户的手续费。
在 `main` 函数中,我们创建了一个储蓄账户和一个支票账户,并演示了一些基本操作,如存款、取款、计算利息和扣除手续费。最后,我们打印出了更新后的账户余额。
希望这个示例能够帮助您理解如何使用派生类的定义方法实现银行账户程序。
阅读全文
相关推荐


















