1   class SavingAccount
2   {
3    private:
4      char m_name[40]; // 存户姓名
5      char m_addr[60]; // 存户地址
6      double m_total; // 存款额
7      static double m_rate; // 利率
8       ...
9    public:
10    static void setRate(double newRate) { m_rate = newRate; }
11    ...
12     };
13    double SavingAccount::m_rate = 0.0075; // 设置 static 成员变量的初值
14     void main()
15     {
16        SavingAccount::setRate(0.0074); // 直接调用类別的 static 成员函数
17        SavingAccount myAccount;
18        myAccount.setRate(0.0074); // 通过对象调用 stati c 成员函数
19     }我在看深入浅出MFC时前面讲了
// 第一种存取方式
void main()
{
SavingAccount::m_rate = 0.0075; // 欲此行成立,须把m_rate 改为public
}
// 第二种存取方式
void main()
{
SavingAccount myAccount;
myAccount.m_rate = 0.0075; // 欲此行成立,须把m_rate 改为public
}
但此处第13句不大理解,不是说私有的变量(包括静态的私有变量)是不能再其他位置赋值的吗?