用c++写一段程序,要求如下:设计用静态成员实现学生一班费管理的程序: - 用静态数据成员money存放班费; —用函数getmoney0实现学生缴纳班费; 一 用函数spendmoney0实现班费支出; - 用静态成员函数display0显示余额。
时间: 2024-09-30 15:13:21 浏览: 38
在C++中,你可以创建一个名为`StudentClassFee`的类,用静态数据成员、函数和静态成员函数来实现这个学生一班费管理的简单程序。下面是一个示例:
```cpp
#include <iostream>
class StudentClassFee {
public:
// 静态数据成员 - 班费金额
static double money;
// 函数 - 学生缴款
static void getMoney(double amount) {
money += amount;
std::cout << "Received class fee: " << amount << ". Total: " << money << std::endl;
}
// 函数 - 班费支出
static void spendMoney(double expense) {
if (money >= expense) {
money -= expense;
std::cout << "Spent: " << expense << ". Remaining balance: " << money << std::endl;
} else {
std::cout << "Insufficient funds. Can't spend " << expense << "." << std::endl;
}
}
// 静态成员函数 - 显示余额
static void displayBalance() {
std::cout << "Current class fee balance: " << money << std::endl;
}
private:
// 静态数据成员不允许直接赋值,防止多次实例化
static double& getMoneyInstance() {
static double instance = 0;
return instance;
}
};
double StudentClassFee::money = 0; // 初始化静态数据成员
int main() {
// 示例操作
StudentClassFee::getMoney(50);
StudentClassFee::spendMoney(30);
StudentClassFee::displayBalance();
return 0;
}
```
在这个例子中,`getMoney`函数用于增加班费,`spendMoney`用于减少班费,而`displayBalance`则打印当前的余额。注意我们添加了一个私有静态成员`getMoneyInstance`,用于保证静态数据成员money只被初始化一次。
阅读全文