类的静态成员
1.类为什么需要静态成员?
类的成员与类本身直接相关,而非与类的各个对象保持关联。例如银行账户类需要一个数据成员表示当前的基准利率,一旦利率浮动,所有对象都能使用新值。故使用静态成员。
2.类静态成员的声明
在成员声明前加static
#include <string>
using namespace std;
class Account
{
public:
//成员函数不通过作用域运算符就可以直接使用静态成员interestRate
void calculate(){amount += amount * interestRate;}
static double rate();
static void rate(double);
private:
string owner;
double amount;
static double interestRate;
static double initRate();
};
//类外定义
void Account::rate(double newRate)
{
interestRate = newRate;
}
3.使用类的静态成员
int main()
{
double r;
r = Account::rate();
Account ac1;
Account *ac2 = &ac1;
r = ac1.rate();
r = ac2 -> rate();
return 0;
}
成员函数不通过作用域运算符就可以直接使用静态成员,如第一段代码注释所示
网友评论