Como construir um modelo de estrutura em c ++
Video: Programação em C/C++ - Aula 26 - Estruturas de Dados: Pilha Estática
Conteúdo
modelos de estrutura têm muitos usos interessantes, como a criação de um repositório de dados que não depende de um tipo particular. o StructureTemplate exemplo mostra aqui um tal uso.
#incluirusing namespace std-modelo struct Volume {T altura-largura T-T-comprimento de volume () {= 0 altura-largura = 0-length = 0-} getVolume T () {altura retorno * largura * comprimento-} T getVolume (TH, TW, TL ) {altura = H = largura W de comprimento = altura L-retorno * largura * comprimento -}} - int main () {Volume primeira cout lt; lt; "Primeiro volume: " lt; lt; first.getvolume () lt; lt; endl-first.height = 2-first.width = 3-first.length = 4-cout lt; lt; "Primeiro volume: " lt; lt; first.getvolume () lt; lt; endl-Volume segunda cout lt; lt; "Segundo volume: " lt; lt; second.getvolume (2.1, 3.2, 4.3) lt; lt; endl-cout lt; lt; "Altura: " lt; lt; second.height lt; lt; endl-cout lt; lt; "Largura: " lt; lt; second.width lt; lt; endl-cout lt; lt; "Comprimento: " lt; lt; second.length lt; lt; endl-retorno 0-}
Neste caso, a estrutura contém valores de altura, largura e comprimento de dados que o código podem ser usadas para determinar o volume. A estrutura inclui um construtor para inicializar os valores, por isso mesmo, se alguém chama getVolume () sem inicializar a estrutura, nada de ruim vai acontecer.
Video: C++ - Aula 33 - Struct - Parte 1
A estrutura permite um acesso independente de cada um dos valores de dados. Você pode definir ou obtê-los, conforme necessário.
o getVolume () função está sobrecarregado. Você pode chamá-lo com ou sem valores de entrada. O código na a Principal() testa a estrutura completamente. Aqui está o que você vê como saída a partir deste exemplo:
Primeiro volume: volume de 0First: volume de 24Second: 28.896Height: 2.1Width: 3.2Length: 4.3
Você pode usar estruturas para outra finalidade interessante. padrão do C ++ diz que você não pode criar um typedef modelo. Por exemplo, o código a seguir produz um erro quando você tenta compilá-lo:
modelomapa typedef MyDef-
Quando você tenta compilar este código no Code :: Blocks, você vê o seguinte erro:
Video: Aula 11 C++ | Estrutura de Dados: Criando Menu, While, Switch, case, break
declaração de modelo de `typedef`: Erro
No entanto, você pode definir um typedef dentro de um modelo de estrutura. o StructureTemplate2 exemplo de código aqui mostra como.
Video: Programar em C - Passar e Receber Estruturas à uma Função - Aula 42
#incluir#incluir
Este exemplo supera as limitações da C ++, colocando o typedef dentro do struct, MyDef. A mesma estrutura pode conter qualquer número de typedef entradas.
Usando um typedef desta forma torna mais fácil trabalhar com mapa. Tudo que você precisa se preocupar é o tipo de valor - o tipo de chave já está definido como corda.