Quais são as classes de contêineres C++?

Quais são as classes de contêineres C++?

Uma classe de contêiner como o nome sugere é usada para conter valores, objetos e variáveis ​​diferentes, etc. na memória ou no armazenamento externo. Uma classe de contêiner suporta outras classes presentes nos programas e funciona para ocultar os objetos/variáveis ​​usados ​​na memória. Ele armazena muitos itens e todos esses itens são facilmente acessíveis por outros membros do programa.

Todas as classes de contêineres acessam os elementos do contêiner com eficiência através dos iteradores. Esta classe é conhecida por manter alguns objetos semelhantes e mistos na memória. Um recipiente pode ser do tipo homogêneo ou heterogêneo. Se o contêiner possui objetos mistos, é heterogêneo, enquanto no caso de itens semelhantes, é conhecido como classe de contêiner homogêneo.

Vamos explicar esse conceito no sistema operacional Linux, para que você precise instalar o Ubuntu e na forma em execução em seu sistema. Então você deve instalar a caixa virtual e depois de baixar e instalar agora configure -a. Agora adicione o arquivo ubuntu a ele. Você pode acessar o site oficial do Ubuntu e fazer o download do arquivo de acordo com o seu requisito e sistema operacional do sistema. Levará horas e depois após a instalação, configure -o na máquina virtual. No processo de configuração, verifique se você criou o usuário, pois é essencial para qualquer operação no terminal Ubuntu. Além disso, o Ubuntu precisa da autenticação do usuário antes de fazer qualquer instalação.

Nós usamos os 20.04 versão do Ubuntu; você pode usar o mais recente. Para a implementação, você precisa ter um editor de texto e deve ter acesso ao terminal Linux, porque poderemos ver a saída dos códigos de origem no terminal através da consulta. O usuário deve ter conhecimento básico de C ++ e programação orientada a objetos para usar as classes no programa.

Classe de contêineres/contêineres e seus tipos

Diz -se que uma classe é um contêiner quando é usado para manter valores utilizados por outras variáveis ​​no mesmo programa. Uma biblioteca da classe GUI tem um grupo de classes de contêineres. Os contêineres Pointers fornecem os recipientes que mantêm os objetos que são alocados através da seleção de heap segura. Esse uso da classe de contêineres tem o objetivo de facilitar o OOP na linguagem C ++. Isso é feito quando um conjunto padrão da classe é estabelecido.

O tipo de relação entre classes é conhecido como recipiente. A classe que contém esse tipo de relacionamento é a classe de contêiner. Da mesma forma, o objeto é conhecido como objeto de contêiner.

Classes de contêiner padrão C ++

As classes padrão são descritas da seguinte forma:

  • Std :: mapa: Isso é usado para lidar com uma matriz ou uma matriz esparsa.
  • Std :: vetor: Assim como uma matriz, as classes de contêiner têm recursos adicionais, como inserção e remoção de elementos, gerenciamento de memória automaticamente e exceções de lançamento.
  • Std :: string: É uma variedade de personagens.

Sintaxe do recipiente

// classe que deve ser contida
classe um
;
// classe de contêiner
classe dois
// criando objeto de um
Um o;
;

Exemplo 1

Neste exemplo, criamos uma classe de contêiner com o nome segundo. Em primeiro lugar, a biblioteca é usada para tornar o arquivo habilitado para ler e escrever. A primeira classe contém uma função chamada de exibição que é usada para exibir a mensagem quando a função é chamada. Na parte pública da classe, há um construtor que chama a função da primeira classe e, em seguida, o valor é exibido. Todas essas etapas podem ser reduzidas ao fazer essas funções em uma única classe, mas enquanto discutimos o conceito de contêiner, é por isso que cada função é executada separadamente em uma classe individual.

# incluir

Voltando ao programa, no programa principal, criamos o objeto da segunda classe. Ao criar esse objeto, a segunda classe será chamada automaticamente e, depois de ligar para o construtor, será iniciado que chamará a primeira classe e a declaração será exibida a partir da função.

Para ver o valor resultante do código, iremos ao terminal do Ubuntu. Para compilar o código, usamos um compilador, para C ++, usamos um compilador G ++ para compilar o código.

$ G ++ -o con mão.c
$ ./vigarista

Ao executar o código, você verá que a função será executada e a declaração será exibida.

Exemplo 2

Este exemplo se assemelha ao primeiro, apenas a diferença é que desta vez não herdamos a primeira classe no segundo, criando o objeto. Mas uma mensagem é exibida na classe. A primeira classe tem uma parte pública que contém um construtor diretamente, mas não a função de exibição. Isso ocorre porque não estamos dispostos a fazer uma relação de primeira classe com o segundo. Não fizemos uma chamada de função. O objeto da segunda classe é criado no programa principal.

Novamente, vá para o terminal e use o mesmo comando, isso exibirá duas mensagens, uma da primeira classe e a outra da segunda classe. Este exemplo mostra que os contêineres também podem ser usados ​​sem interação com outras funções.

Exemplo 3

Agora, neste exemplo, não exibimos simplesmente nenhuma mensagem, um número é apresentado no construtor da classe de contêineres e, em seguida, é exibido na primeira classe. A primeira classe usa uma variável para aceitar a variável e exibir o número. Outra função é usada aqui que retorna o número. Agora indo para a segunda classe, o construtor usa o objeto da primeira classe criada na segunda classe.

Usando o objeto, ele chama as funções presentes na primeira classe, a função de exibição e a função Get number. A função Getting número () usa o número e passa para a função.

# f.getNum () = 50;
# f.mostrar();

Depois disso na função principal, o segundo objeto de classe é criado apenas. Na criação do objeto de segunda classe, o construtor da segunda classe é executado automaticamente. Ao executar o resultado no terminal, você saberá que o número que você inseriu na classe de contêiner é exibido.

Agora, esses foram os exemplos que usamos para explicar o conceito de uma classe de contêiner. Há confusão entre herança e recipiente.

No recipiente, as características da classe estão dentro da nova classe, mas não na herança, como essa classe não é a classe infantil. Por exemplo, o celular tem um Android e o caminhão tem um motor. Por outro lado, no caso de herança, quando queremos um novo tipo de classe com os recursos da classe base, isso é herança.

Conclusão

O conceito de classe de contêiner é explicado ao dar exemplos no sistema operacional Linux, configurando o Ubuntu. A classe de contêiner age como o tipo de dados da matriz para conter valores que são utilizáveis ​​e acessíveis através dos outros objetos nos mesmos casos diferentes ou diferentes. Ao usar a classe de contêineres, o usuário deve estar ciente da diferença entre herança e contêineres. No artigo especificado, pretendemos descrever o básico da classe de contêineres, e esperamos que esse conhecimento seja suficiente para estar à altura da marca.