Neste tutorial, vamos dar início ao estudo das estruturas de dados, em C++.
Abstração de Dados
Um dos conceitos mais importantes na Ciência da Computação, é o de abstração de dados. Também chamado de ADT, abstract data type.
Abstração, em computação, se refere a um modelo de algo, um protótipo, uma generalização de alguma coisa.
Por exemplo, Humano é uma abstração. Você não conhece um Humano, você na verdade conhece pessoas específicas, como seu pai, sua mãe, seus amigos. Humanos é um 'molde', pra representar um objeto que ter cabeça, troco, coração, pulmão, etc.
O mesmo vale para Carro. Você não chega na concessionária e diz 'Quero um carro'.
Você diz: quero um Corolla, um Civic, um Honda Fit etc.
Carro é uma generalização de um treco que tem todas, motor, câmbio etc.
Pois bem, o mesmo ocorre na nossa querida e amada programação, é suuuuuper comum em um projeto criarmos nossas abstrações, para representar 'coisas' do sistema que vamos implementar.
Estruturas de Dados: structs
Até o momento, usamos tipos de dados bem específicos, como int, double e float (para trabalhar com números) ou char, para trabalhar com caracteres.
Através dos arrays, conseguimos criar e trabalhar com qualquer quantidade desses tipos de dados de uma maneira bem fácil e poderosa.
Porém, tem um problema. Os tipos de dados de um array são sempre iguais. Não dá pra ter um array que tem um inteiro dentro representando a idade de um funcionário, uma string armazenando o nome e um float para guardar seu salário.
Bom, para isso que servem as structs: empacotar outros tipos de dados, para criar seu próprio tipo de dado. Através das structs, podemos criar novos tipos de dados.
Por exemplo, vamos criar o tipo de dado Carro, dentro dele tem inteiro pra armazenar o número de portas, tem float pra armazenar a potência do motor e uma string para armazenar o nome do modelo.
Se antes fazíamos:
- int number;
- float price;
Agora vamos fazer:
- Funcionario Jose;
Ou seja, estamos declarando uma variável de nome 'Jose', que é do tipo 'Funcionario'. Sim, do tipo 'Funcionario', assim como tipo de dado int, float, char, etc.
É um tipo de dado que você criou, uma abstração necessária no sue projeto, e isso é feito através das structs! Ele pode conter quantas variáveis quiser e de qualquer tipo, pode ter array, ponteiros, matriz, etc. Tudo isso 'empacotado', numa estrutura de dado que você nomeou.
No próximo tutorial, vamos aprender como criar, acessar e usar uma struct, em C++!
Nenhum comentário:
Postar um comentário