搜尋

首頁  >  問答  >  主體

c++ - 类的静态成员存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据?

书上看到这句话,我觉得明显写错了,大家怎么看?
比如calculate()就包含interestRate成员

天蓬老师天蓬老师2767 天前658

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-04-17 12:11:10

    書上寫的沒錯。書上的意思並不是類別的物件無法存取到類別的靜態成員,而是說物件中不會儲存任何類別的靜態成員。當物件需要存取靜態成員時,先找到類別本身,然後存取其中的靜態成員。

    所以在你的例子中,owneramount是存在於物件中的,而interestRate則存在於類別中。存取此靜態變數時,需要先找到類,再找到該變數。

    因為一個類別的靜態成員是所有物件共享的,所以如果儲存到每個物件中,當一個物件修改了該變數後,其他物件將無法看到修改後的結果,這與靜態成員的特點是不相符的。

    回覆
    0
  • 取消回覆