찾다

 >  Q&A  >  본문

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

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

天蓬老师天蓬老师2803일 전696

모든 응답(1)나는 대답할 것이다

  • 黄舟

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

    书上写的没错。书上的意思并不是类的对象无法访问到类的静态成员,而是说对象中不会存储任何类的静态成员。当对象需要访问静态成员时,先找到类本身,然后访问其中的静态成员。

    所以在你的例子中,owneramount是存在于对象中的,而interestRate则存在于类中。访问此静态变量时,需要先找到类,再找到该变量。

    因为一个类的静态成员是所有对象共享的,所以如果存储到每个对象中,当一个对象修改了该变量后,其他对象将无法看到修改后的结果,这与静态成员的特点是不相符的。

    회신하다
    0
  • 취소회신하다