static 类成员的优点
static 静态类成员定义以后所有这个类的对象都能使用,比全局变量安全,比私有成员方便易用管理
#include <iostream>
#include <string>
using namespace std;
class Account
{
public:
Account(std::string name, double money):
owner(name),amount(money){}
double getAmount() const
{
return this->amount;
}
void applyint()
{
amount += amount * interestRate;
}
void deposit(double money)
{
this->amount += money;
}
// 静态的成员函数不属于任何一个对象
// 不能用this->
static double rate() { return interestRate; }
static double rate(double newRate)
{
interestRate = newRate;
}
// static const int 可以直接初始化 其他的类型不行
private:
std::string owner;
double amount;
static double interestRate; // 永远只有一个
};
double Account::interestRate = 0.015; // 初始化 interestRate
int main()
{
Account::rate(0.026);
Account a("张三",1000);
cout << a.rate() << endl;
a.deposit(500);
Account b("李四",2000);
b.deposit(600);
cout << a.getAmount() << endl;
cout << b.getAmount() << endl;
a.rate(0.018);
cout << b.rate() << endl;
Account::rate(0.02);
a.applyint();
b.applyint();
cout << a.getAmount() << endl;
cout << b.getAmount() << endl;
return 0;
}