用c++写一个相对复杂的关于类的定义的程序
时间: 2024-06-09 07:08:43 浏览: 83
好的,以下是一个相对复杂的关于类的定义的程序,实现一个简单的银行账户管理系统:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义银行账户类
class BankAccount {
private:
string accountNo; // 账号
string accountName; // 户名
double balance; // 余额
public:
BankAccount(string no, string name, double b) {
accountNo = no;
accountName = name;
balance = b;
}
string getAccountNo() {
return accountNo;
}
string getAccountName() {
return accountName;
}
double getBalance() {
return balance;
}
void deposit(double amount) {
balance += amount;
}
bool withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
return true;
} else {
return false;
}
}
};
// 定义银行类
class Bank {
private:
vector<BankAccount> accounts; // 存储银行账户
public:
void addAccount(BankAccount account) {
accounts.push_back(account);
}
BankAccount getAccount(string accountNo) {
for (int i = 0; i < accounts.size(); i++) {
if (accounts[i].getAccountNo() == accountNo) {
return accounts[i];
}
}
// 没有找到账户,返回一个空账户
return BankAccount("", "", 0);
}
};
int main() {
// 创建银行
Bank bank;
// 创建账户并添加到银行中
BankAccount account1("001", "张三", 1000);
bank.addAccount(account1);
BankAccount account2("002", "李四", 2000);
bank.addAccount(account2);
BankAccount account3("003", "王五", 3000);
bank.addAccount(account3);
// 查询账户信息并输出
BankAccount account = bank.getAccount("002");
cout << "账户:" << account.getAccountNo() << " " << account.getAccountName() << endl;
cout << "余额:" << account.getBalance() << endl;
// 存款并输出余额
account.deposit(1000);
cout << "余额:" << account.getBalance() << endl;
// 取款并输出余额
bool success = account.withdraw(500);
if (success) {
cout << "余额:" << account.getBalance() << endl;
} else {
cout << "余额不足,取款失败!" << endl;
}
return 0;
}
```
以上程序定义了两个类,`BankAccount` 和 `Bank`,分别表示银行账户和银行。`BankAccount` 类包含账户的账号、户名和余额信息,并定义了存款和取款的方法。`Bank` 类包含一个存储银行账户的数组,提供添加账户和查询账户信息的方法。
在 `main()` 函数中,首先创建了一个银行对象,并创建了三个账户并添加到银行中。然后查询账户信息并输出,进行存款和取款操作,并输出结果。