Por que Você Precisa membros estático em C ++?

Por padrão, membros de dados são alocados em uma base per-objeto. Por exemplo, cada pessoa tem o seu próprio nome. Você também pode declarar um membro a ser compartilhado por todos os objetos de uma classe ao declarar que membro estático. O termo estático aplica-se a ambos os membros de dados e funções de membro, embora o significado é um pouco diferente. Aqui está o que você precisa saber sobre os membros de dados estáticos.

O programador pode fazer um membro de dados comum a todos os objetos da classe, adicionando a palavra-chave estático à declaração. Tais membros são chamados membros de dados estáticos.


A maioria das propriedades são propriedades do objeto. Usando o bem-vestida (pode-se dizer, ténue) exemplo estudante, propriedades, tais como nome, número de identificação, e os cursos são específicos para o estudante individual. No entanto, todos os alunos compartilham algumas propriedades - por exemplo, o número de alunos matriculados, o mais alto grau de todos os alunos, ou um ponteiro para o primeiro aluno em uma lista vinculada.

É fácil o suficiente para armazenar esse tipo de informação em um jardim-variedade variável global comum, ordinário. Por exemplo, você poderia usar um humilde int variável para manter o controle do número de Aluna objectos.

O problema com esta solução, no entanto, é que as variáveis ​​globais estão fora da classe. É como colocar o regulador de tensão para o seu microondas fora do recinto. Claro, você poderia fazê-lo, e provavelmente iria funcionar - o único problema é que você não seria muito feliz se o seu cão começou a ter os fios e você tinha que descascar-lo fora do teto.

Se uma classe que vai ser responsável por seu próprio estado, objetos como variáveis ​​globais devem ser levados dentro da classe, assim como o regulador de tensão deve estar dentro da tampa microondas, longe de patas curiosos. Esta é a idéia por trás membros estáticos.

Você pode ouvir membros estáticos referido como membros- classe isso é porque todos os objetos da classe compartilhá-los. Por comparação, os membros normais são referidos como membros de instância, ou membros do objeto, porque cada objeto recebe sua própria cópia desses membros.

» » » » Por que Você Precisa membros estático em C ++?