C++ 银行账户管理系统:账户、储蓄账户和支票账户
C++ 银行账户管理系统
本文将通过 C++ 代码示例,实现一个简单的银行账户管理系统,包含账户基类、储蓄账户和支票账户。
基类 Account 的设计cppclass Account {protected: double balance; // 账户余额public: Account(double b) : balance(b) {} // 构造函数 double getBal() const { return balance; } // 获取余额 virtual void withdraw(double amt) { balance -= amt; } // 取钱 virtual void deposit(double amt) { balance += amt; } // 存钱};
balance: 账户余额,使用protected保护,以便派生类访问。- 构造函数:初始化账户余额。-getBal(): 获取账户余额。-withdraw(): 取钱,使用virtual关键字,以便派生类重写该函数。-deposit(): 存钱,使用virtual关键字,以便派生类重写该函数。
派生类 SavingAccount 的设计cppclass SavingAccount : public Account {public: SavingAccount(double b) : Account(b) {} // 构造函数 void deposit(double amt) { // 存钱并计算利息 double interest = amt * 0.01; // 利息为存款的1% balance += amt + interest; }};
SavingAccount继承自Account类。- 重写了deposit()函数,在存钱的同时计算利息并将其加到余额中。
派生类 CheckingAccount 的设计cppclass CheckingAccount : public Account {private: double fee; // 手续费public: CheckingAccount(double b, double f) : Account(b), fee(f) {} // 构造函数 void withdraw(double amt) { // 取钱扣除手续费 balance -= amt + fee; }};
CheckingAccount继承自Account类。- 添加了fee成员变量,用于存储手续费。- 重写了withdraw()函数,在取钱时扣除手续费。
main 函数测试cppint main() { Account acc(1000); acc.withdraw(200); cout << 'Account balance: ' << acc.getBal() << endl; // 800
SavingAccount savAcc(1000); savAcc.deposit(200); cout << 'SavingAccount balance: ' << savAcc.getBal() << endl; // 1202
CheckingAccount chkAcc(1000, 10); chkAcc.withdraw(200); cout << 'CheckingAccount balance: ' << chkAcc.getBal() << endl; // 790 return 0;}
该代码测试了三个类的功能:
- 创建一个
Account对象,并进行取款操作。- 创建一个SavingAccount对象,并进行存款操作,模拟利息计算。- 创建一个CheckingAccount对象,并进行取款操作,模拟扣除手续费。
通过以上示例代码,可以了解如何使用 C++ 类和继承来实现一个简单的银行账户管理系统。您可以根据需要扩展这些类,添加更多功能,比如设置账户密码、记录交易历史等
原文地址: https://www.cveoy.top/t/topic/oaj6 著作权归作者所有。请勿转载和采集!