- Um set pode ser considerado semelhante
- a um recipiente ou um conjunto matemático.
- Por ser um repositório Associativo,
- jamais permite valores duplicados em sua interface,
- e os elementos são automaticamente ordenados
- de forma ascendente, eliminando duplicatas se houver.
- Um set só permite objetos de um mesmo tipo,
- que deve ser especificado no seu corpo em sua declaração.
- Uma vez armazenados, os objetos são do tipo key,
- que são chaves de valores constantes e que não se pode alterar.
- Se for preciso alterar um valor dentro de um set,
- precisamos primeiro excluir um elemento,
- para depois inserir outro em seu lugar,
- respeitando o tipo especificado no seu corpo.
- A parte teórica dos sets em C++ é um tanto extensa,
- mas não vejo nada mais necessário de apresentar,
- além do que já escrevemos aqui, mesmo porque
- o grau de dificuldade de usar os sets é quase 0,
- e isto é um privilégio para nós que estamos envolvidos com C++.
- No exemplo mostrado aqui, criamos um array do tipo string
- especial do C++ Builder, mas que poderia ser do tipo
- string padrão do C++, este array foi inicializado
- com algumas string em forma de frase, com algumas
- repetidas e desordenadas.
- Na impressão da esquerda imprimimos o array
- como foi criado, e na impressão da direita
- temos o set imprimido com seus elementos
- ordenados e sem as frases repetidas do array de string.
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Buttons.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
void __fastcall Informe ( TObject *Sender );
void __fastcall Label_Manual ( TObject *Sender );
void __fastcall FormPaint ( TObject *Sender );
void __fastcall FormShow(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.