Por que uma função de membro const pode modificar um membro de dados estáticos?

Na sequênciaC++ programa, modificando ummembro de dados estático a partir de umconst função está funcionando bem:

class A 
{
  public:   
    static int a; // static data member

    void set() const
    {
        a = 10;
    }
};

Mas modificar ummembro de dados não estático a partir de umconst A função não funciona:

class A 
{
  public:   
    int a; // non-static data member

    void set() const
    {
        a = 10;
    }
};

Por que umconst função membro modificar umstatic membro de dados?

questionAnswers(4)

yourAnswerToTheQuestion