C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como usar construtores em suas classes C++Quantidade de visualizações: 16226 vezes |
|
Quando um objeto de uma classe C++ é criado, a linguagem chama um construtor para tal classe. Se nenhum construtor estiver definido, um construtor padrão é invocado. Este construtor aloca memória para o objeto, mas não o inicializa. Um construtor é um método que definimos em nossas classes C++ e que possui o mesmo nome da classe. Um construtor não possui tipo de retorno e não retorna nenhum valor. Em geral construtores são públicos, mas, é possível termos construtores privados. Neste caso, somente um método estático da classe poderia criar novos objetos da classe (quando puder dê uma olhada no padrão de projeto Singleton). O uso mais frequente dos métodos construtores é quando queremos inicializar valores das variáveis e demais recursos no momento da criação de uma nova instância da classe. Esta é uma técnica útil, visto que não precisamos dispor de esforço extra para inicializar as variáveis de instância de um objeto, individualmente, após sua criação. Vamos ver um exemplo da definição e uso de construtores em uma classe C++? Comece analisando o código para o arquivo de definição da classe Pessoa: Código para Pessoa.h:
// vamos evitar múltiplas inclusões do
// arquivo de cabeçalho (header file)
#ifndef PESSOA_H
#define PESSOA_H
// vamos incluir o header string
#include <string>
using namespace std;
class Pessoa{
public:
// construtor da classe Pessoa
Pessoa(string, string, int);
// método que permite retornar o nome da pessoa
string getNome();
// método que permite retornar o e-mail da pessoa
string getEmail();
// método que permite retornar a idade da pessoa
int getIdade();
private:
// variáveis privadas
string nome;
string email;
int idade;
};
#endif
Veja a assinatura do método construtor: Pessoa(string, string, int); Note que na lista de parâmetros do construtor não precisamos informar os nomes dos parâmetros, apenas seus tipos. Veja agora o arquivo de implementação para esta classe: Código para Pessoa.cpp:
// arquivo de implementação para a
// classe Pessoa
// vamos incluir o header Pessoa.h
#include "Pessoa.h"
// implementação do construtor
Pessoa::Pessoa(string nome, string email, int idade){
this->nome = nome;
this->email = email;
this->idade = idade;
}
// método que permite obter o nome da pessoa
string Pessoa::getNome(){
return this->nome;
}
// método que permite obter o email da pessoa
string Pessoa::getEmail(){
return this->email;
}
// método que permite obter a idade da pessoa
int Pessoa::getIdade(){
return this->idade;
}
Note que na implementação do método construtor nós recebemos os argumentos para os parâmetros e os usamos para inicializar as variáveis privadas da instância da classe. Observe o uso do ponteiro this para nos referirmos à instância atual da classe Pessoa. Finalmente, veja o código para o método main() do programa. É aqui que criamos um novo objeto da classe Pessoa e usamos seu método construtor para inicializar suas variáveis privadas de uma só vez: Código para main.cpp:
#include <cstdlib>
#include <iostream>
// vamos incluir a classe Pessoa
#include "Pessoa.h"
using namespace std;
int main(int argc, char *argv[])
{
// vamos criar um novo objeto da classe Pessoa
Pessoa *p = new Pessoa("Osmar J. Silva",
"osmar@arquivodecodigos.net", 38);
// vamos exibir os dados da pessoa
cout << "Nome: " << p->getNome() << endl;
cout << "E-Mail: " << p->getEmail() << endl;
cout << "Idade: " << p->getIdade() << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Além do construtor, uma classe C++ possui também um método destrutor. Veja minhas dicas relacionadas a este assunto para aprender como definir e usar destrutores em suas classes C++. |
GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas |
Exercícios Resolvidos de Golang - Como calcular a área de um losango em GoQuantidade de visualizações: 1536 vezes |
|
Pergunta/Tarefa: Um losango é um quadrilátero equilátero, ou seja, é um polígono formado por quatro lados de igual comprimento. Um losango é também um paralelogramo. Alguns autores exigem ainda que nenhum dos ângulos do quadrilátero seja reto para que ele seja considerado um losango. A área (em metros quadrados) de um losango pode ser calculada usando-se a seguinte fórmula: ![]() Onde D1 é a diagonal maior e D2 é a diagonal menor. Escreva um programa Golang que leia a diagonal maior e a diagonal menor e calcule a área do losango. Sua saída deverá ser parecida com: Informe a medida da diagonal maior: 5 Informe a medida da diagonal menor: 10 A área (em metros quadrados) do losango é: 25 Veja a resolução comentada deste exercício usando Go:
// pacote principal
package main
// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"
// esta é a função principal do programa
func main() {
// variáveis que vamos usar na resolução do problema
var diagonal_maior, diagonal_menor int
var area float32
// vamos ler os valores das diagonais maior e menor
fmt.Print("Informe a medida da diagonal maior: ")
fmt.Scanln(&diagonal_maior)
fmt.Print("Informe a medida da diagonal menor: ")
fmt.Scanln(&diagonal_menor)
// calcula a area do losango
area = float32((diagonal_maior * diagonal_menor)) / 2
// mostra o resultado
fmt.Printf("A área (em metros quadrados) é: %.2f",
area)
}
|
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como remover todos os espaços de um nome, frase ou texto usando a função substituir() da biblioteca Texto do PortugolQuantidade de visualizações: 501 vezes |
|
Como remover espaços de um nome, frase ou texto usando a função substituir() da biblioteca Texto do Portugol Nesta dica mostrarei como podemos usar a função substituir() da biblioteca Texto do Portugol para remover todas as ocorrências de espaços em um nome, frase ou texto. Esta técnica é muito interessante quando queremos processar e salvar dados informados pelos usuários em um arquivo texto. Veja o código Portugol completo para o exemplo:
programa {
// vamos incluir a biblioteca Texto
inclua biblioteca Texto --> texto
funcao inicio() {
// vamos declarar uma variável para guardar um nome
cadeia nome, novo_nome
// vamos pedir para o usuário informar o seu nome
escreva("Informe o seu nome: ")
leia(nome)
// agora vamos remover todos os espaços do nome informado
novo_nome = texto.substituir(nome, " ", "")
// e mostramos os resultados
escreva("Você informou o nome: " + nome)
escreva("\nSem os espaços: " + novo_nome)
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Informe o seu nome: Marcela de Oliveira Macedo Cunha Você informou o nome: Marcela de Oliveira Macedo Cunha Sem os espaços: MarceladeOliveiraMacedoCunha |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 1625 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0)));
Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1)));
Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2)));
end;
Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Nossas 20 dicas & truques de programação mais populares |
|
Revit C# - Como criar eixos no Revit via programação usando a função Create() da classe Grid da Revit C# API Python - Como contar quantas vezes um elemento aparece em uma lista do Python usando a função count() C# - C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows Forms |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






