![]() |
|
||||
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Você está aqui: C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
||||||||||||
Definindo e usando variáveis estáticas em suas classes C++Quantidade de visualizações: 10746 vezes |
||||||||||||
Variáveis estáticas podem ser definidas em C++ por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática. Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected. Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Vamos começar com o arquivo de definição da classe Livro: Código para Livro.h
Aqui a variável estática id é declarada como private. Como nossa intenção é usá-la como identificador único de instâncias, obtemos seu valor por meio do método público getId(). Veja agora o arquivo de implementação para esta classe: Código para Livro.cpp:
O primeiro detalhe a observar no código de implementação da classe Livro é a linha: int Livro::id = 0; O compilador C++ nos força a fazer esta declaração e inicialização de variáveis estáticas. Note o uso do nome da classe seguida por um par de dois pontos (::). Para finalizar, veja como criar três objetos da classe Livro a partir da função main() da aplicação: Código para main.cpp:
Ao executar esta aplicação teremos o seguinte resultado: Id: 1 Titulo: Programando em Java 2 Id: 2 Titulo: A biblia do C/C++ Id: 3 Titulo: PHP + MySQL Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja: // vamos incrementar a variável estática Livro::id++; Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe e um par de dois pontos (::). Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma: cout << Livro::id << endl; |
||||||||||||
![]() |
||||||||||||
C++ ::: STL (Standard Template Library) ::: unordered_map |
||||
Como contar as frequências de palavras em uma frase ou texto em C++ usando um unordered_mapQuantidade de visualizações: 713 vezes |
||||
Nesta dica mostrarei como podemos usar o mapa não ordenado (unordered_map) da linguagem C++ para contar as frequências das palavras individuais de uma palavra ou texto. O exemplo mostrado aqui serve como base para a criação de aplicações muito interessantes. Veja o código C++ completo:
Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java e Python pois quero aprender Java A frequência das palavras é: (aprender, 1) (quero, 1) (pois, 1) (Gosto, 1) (Java, 2) (e, 1) (de, 1) (Python, 1) | ||||
C++ ::: Dicas & Truques ::: Strings e Caracteres |
||||
Como substituir substrings em strings C++ usando a função replace()Quantidade de visualizações: 10670 vezes |
||||
Nesta dica mostrarei como podemos usar a função replace() da classe String do C++ para substituir parte de uma palavra, frase ou texto, ou seja, substituir uma substring em uma string. Para isso nós vamos usar a seguinte assinatura da função replace():string& replace(size_t pos1, size_t n1, const string& str); Veja o código C++ completo para o exemplo:
Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java Depois da substituição: Gosto de PHP | ||||
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
||||||||
Como excluir um diretório em C++ usando a função rmdir()Quantidade de visualizações: 8467 vezes |
||||||||
Em algumas situações nossos códigos C++ precisam excluir diretórios. Isso pode ser feito com o auxílio da função _rmdir() ou rmdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:int _rmdir(const char *pathname); a) ENOTEMPTY - Directory not empty - O diretório não está vazio e portanto não pode ser excluído; b) ENOENT - No such file or directory - O caminho do diretório é inválido; c) EACCESS - Acesso negado - Algum outro programa está usando este diretório e mantém controle sobre o mesmo. Veja um trecho de código C++ no qual excluímos um diretório:
É possível usar a versão Unicode de _rmdir(), ou rmdir(). O método _wrmdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:
| ||||||||
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Python - Como exibir os valores de 0 a 10 em ordem decrescente usando o laço for da linguagem Python jQuery - Como remover uma classe (ou classes) de um elemento HTML usando a função removeClass() do jQuery |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |