Programação Orientada a Objetos em C ++ - Parte 8 Introdução Esta é parte de minha série 8, Programação Orientada a Objetos em C ++. Um membro da classe ou é uma propriedade ou um método. Um membro estático de uma classe é membro cujo valor é o mesmo para cada objeto instanciado. Isto significa que se um objeto muda o valor do membro estático, essa mudança será refletido em um outro objeto instanciado da classe. A alteração (ou o valor resultante) será o mesmo em todos os objectos instanciados. Você também pode acessar um membro estático usando o nome da classe sem instanciação.
Nesta parte da série, nós olhamos para membros estáticos em C ++ as classes. Você pode ter um membro estático ao lado de outros membros de sua classe. Nota: Se você não pode ver o código ou se você acha que alguma coisa está faltando (link quebrado, imagem ausente), apenas contacte-me em [email protected]. Ou seja, contacte-me para o menor problema que você tem sobre o que você está lendo. Estática Propriedade A propriedade estática também é chamado de membro de dados estáticos.
Declarar uma propriedade estática Você declarar uma propriedade estática, assim como você declarar qualquer outro atributo, mas você preceder a expressão declaração com a palavra-chave, estático e um espaço. A sintaxe é: Tipo de estática Ident; Apesar desta característica simples, você tem que aprender a usar o membro estático. Você não usá-lo na forma simples. Exemplo A classe a seguir ilustra o uso de um membro propriedade estática: #include using namespace std; class MyClass {public: static int sameAll; }; int MyClass :: sameAll = 5; int main () {MyClass myObj; myObj.
sameAll = 6; cout retornar 0; } No código, você tem uma classe chamada MyClass. Essa classe tem apenas um membro, que é o membro de dados estáticos. Você inicializar o membro estático fora a descrição da classe, como mostrado acima. Você começa com o tipo de retorno da propriedade estática. Isto é seguido por um espaço e, em seguida, o nome da classe. Depois que você tem o operador de escopo, em seguida, o identificador da propriedade estática. Então você tem o operador de atribuição eo valor. Você instanciar um objeto formam a classe que tem o membro estático de uma forma normal.
Linha 1 na função principal ilustra isso. Você pode acessar a propriedade estática de um objeto instanciado da maneira normal. A segunda linha na função principal ilustra isso. No entanto, a alteração do valor que esta linha tem feito significa mudar o valor para a classe (inscrição) e qualquer objeto instanciado e qualquer objeto que está ainda a ser instanciado. A terceira linha na função principal exibe o valor da propriedade estática. Ele usa o nome da classe; não usar o nome do objeto. Para usar o nome da classe para acessar o atributo estático, você começa com o nome da classe.
Isto é seguido pelo operador âmbito e, em seguida, o identificador da propriedade estática. Isto mostra como você pode acessar um atributo estático com o nome da classe diretamente e sem o uso de um objeto; isto é como acessar a propriedade na descrição da classe. O membro estático é um tipo de objeto global.
Exemplo com muitos objetos O exemplo a seguir ilustra que o membro de dados estáticos é o mesmo para a sua classe e seus objetos instanciados e se você alterá-la através de um objeto ou através da classe (MyClass :: sameAll) o valor é a mudança para o mesmo novo valor , para todos os objetos ea classe: #include using namespace std; class MyClass {public: static int sameAll; }; int MyClass :: sameAll = 5; int main () {MyClass :: sameAll = 6; cout MyClass obj1; obj1.sameAll = 7; MyClass obj2; cout cout cout retornar 0; } Leia o código e experimentar.
A primeira linha no principal altera o valor usando o nome da classe. A segunda linha exibe o valor alterado. A terceira linha instancia um objeto formam a classe. A quarta linha altera o valor usando o objeto instanciado. A quinta linha instancia um novo objeto. O resto das linhas exibir o valor usando a classe e, em seguida, os dois objetos diferentes. Estas três linhas, todas apresentam o mesmo valor confirmando o propósito de membro estático. Método estático Você também pode ter métodos estáticos. Um método static só pode se referir a membros estáticos.
Não se pode utilizar a palavra-chave, presente (veja abaixo). Não vou abordar métodos estáticos mais longe neste artigo. A esta palavra-chave a esta palavra-chave não é um componente de membros estáticos. No entanto, tenho apenas incluiu neste artigo porque ele é curto. A palavra-chave, presente, representa um apontador para o objecto cujo método membro está sendo executado. É um apontador para o objecto em si.
O código a seguir dá um exemplo: #include using namespace std; class MyClass {public: int num1; int assignShow () {this->