设计一个程序,其中有3个类,即CBank、BBank和GBank,分别为中国银行类、工商银行类和农业银行类。每个类都包含一个私有数据balance,用于存放储户在该行的存款数,另一个友元函数total用于计算储户在这3家银行中的总存款数。
时间: 2024-02-09 08:12:23 浏览: 109
好的,以下是一个可行的程序设计:
```cpp
#include <iostream>
using namespace std;
// 定义银行类CBank
class CBank {
private:
double balance; // 存款数
public:
CBank(double bal = 0) { // 构造函数
balance = bal;
}
friend double total(CBank b1, CBank b2, CBank b3); // 友元函数
};
// 定义银行类BBank
class BBank {
private:
double balance; // 存款数
public:
BBank(double bal = 0) { // 构造函数
balance = bal;
}
friend double total(CBank b1, CBank b2, CBank b3); // 友元函数
};
// 定义银行类GBank
class GBank {
private:
double balance; // 存款数
public:
GBank(double bal = 0) { // 构造函数
balance = bal;
}
friend double total(CBank b1, CBank b2, CBank b3); // 友元函数
};
// 友元函数total,用于计算储户在这3家银行中的总存款数
double total(CBank b1, CBank b2, CBank b3) {
double sum = b1.balance + b2.balance + b3.balance;
return sum;
}
// 主函数
int main() {
// 分别创建3个银行类的对象
CBank c(1000);
BBank b(2000);
GBank g(3000);
// 输出3家银行中储户的总存款数
cout << "Total balance: " << total(c, b, g) << endl;
return 0;
}
```
在上面的程序中,我们创建了3个类CBank、BBank和GBank,分别代表中国银行、工商银行和农业银行。每个类都包含一个私有数据成员balance,用于存放储户在该行的存款数。我们还定义了一个友元函数total,用于计算储户在这3家银行中的总存款数。在主函数中,我们创建了3个银行类的对象,并输出了总存款数。
需要注意的是,为了让友元函数total能够访问到3个银行类的私有数据成员balance,我们在3个类中都声明了该函数为友元函数。这样,total函数就可以访问到这3个类的私有数据成员,从而计算出储户在这3家银行中的总存款数。
阅读全文