Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como criar uma String dinâmica em C + +
tipos de dados dinâmicos não tem um tamanho fixo. Quando um computador armazena um número , que utiliza o mesmo número de bytes para armazenar o número " 0 " e o número " 20000 ". Mas tentar armazenar uma frase e as mudanças panorama dramaticamente. Uma vez que cada frase tem um comprimento diferente , a memória usada para armazenar a frase tem de mudar dinamicamente . Padrão C não inclui um tipo de dados , e projetar um tipo de dados dinâmica (ou classe string) tornou-se quase um rito de passagem de qualquer novo /programador C + C + . Coisas que você precisa
Computer Fotografia de C + + Compiler (recomendado : Visual C + + Express)
Mostrar Mais instruções
Projete uma classe string
1

Visualize as características de sua classe string. A seqüência deve ter o seguinte :

tamanho dinâmico ( muda com a entrada do usuário ou atribuição )

Ser capaz de saber o tamanho da seqüência de

saída da cadeia. . armazenado na memória.

Guarde o tamanho.

Guarde o primeiro caractere de nossa string ( uma vez que é dinâmico, você não sabe onde termina. )
2

separado quais as características do seu classe string são informações (ou dados) e quais são as funções. Geralmente, tudo o que envolve a ação é uma função. A partir da nossa lista : . .

Tamanho dinâmico - > Função baseado em como você construir uma seqüência

saber o tamanho do string -> Função

saída do string - . > Função

Guarde o tamanho - > dados /informações

Guarde o início da cadeia - . > dados /informações
. 3

Definir o papel de cada função eo tipo de dados membros de sua classe em termos simples. Da lista anterior : . .

Dinâmico Size - Função - Constrói a string

saber o tamanho - Function - Retorna o tamanho cadeia

saída da string - Function - Retorna o conteúdo da seqüência

armazenar o tamanho - . dados /informações - deve ser um número inteiro positivo

Guarde o início da cadeia - . dados /informações - . caráter

a implementação da classe String - arquivo de cabeçalho
4

Crie um arquivo de cabeçalho chamado MyString.h (Arquivo -> Adicionar -> Header file) . Um arquivo de cabeçalho é como um índice para o seu código .
5

Defina sua classe no arquivo de cabeçalho . Este é o código :

classe mystring {
6

Criar funções públicas para enfrentar todas as funções em seu projeto. Este é o código :

público :

mystring ( ) //cria uma cadeia vazia

mystring ( const char * ) //cria e inicializa a string para algum valor ( entre parênteses )

~ mystring ( ) //desaloca recursos de memória dinâmica

int GetSize ( ) //mostra o tamanho da corda

char * outputmystring () //Mostra a string
7

Criar membros de dados privados para armazenar os dados de sua seqüência . Este é o código :

privado :

int _size ; //armazena o tamanho da corda

char * _mystr /* isto é um membro de dados que aponta para o primeiro caráter da string. Se sabemos que o primeiro caractere eo tamanho da string, podemos acessar todos os seus caracteres * /Tablet

}
8

Digite o seu código de arquivo de cabeçalho completo ( você pode copiar e colar a partir daqui) :

/* MyString.h * /Tablet

classe mystring {

público :

mystring ();

mystring (const char * );

~ mystring ();

int GetSize ();

char * outputmystring ();

privado :

int _size ;

char * _mystr ;

}
implementando a classe string - Código do arquivo
9

Crie um arquivo chamado CPP correspondência MyString.cpp (File -> Add -> cpp - arquivo vazio). Aqui, você vai incluir as definições para a função no arquivo de cabeçalho MyString.h . Assim como um livro, arquivos de cabeçalho armazenar as principais tittles e cpp armazenar o conteúdo e definições de cada til .
10

incluir as bibliotecas CString e iostream . Este é o código :

/* MyString.cpp * /Tablet

# include

# include
11

Definir as funções de construção (construção vazia e parâmetro de construção) . Aqui está o código :

mystring :: mystring () //construtor vazio

{

_size = 0;

_mystr = 0; < br >

}

myString :: myString ( const char * str ) /* Cria e inicializa string para um valor * /Tablet

{

if ( str !)

{ _size = 0; _mystr = 0; } /* se nenhum valor , string é vazia * /Tablet

mais

{ _size = strlen (str ); < br >

_string = new char [ _size +1 ]; /* esta é a nossa alocação dinâmica de memória , com base no tamanho do parâmetro * /Tablet

strcopy ( _string , str );

} }


12

Definir a função de destruidor. Esta função é usada para de- alocar a memória dinâmica. Toda vez que a memória usada mudanças, o computador tem de saber que ele pode usar essa parte da memória para outros fins; este processo é chamado de- alocação. O código :

mystring :: ~ mystring

{ delete [ ] _mystr ;} /* deallocates nossa memória dinâmica * /
13

Definir a função para retornar o tamanho de cordas e de saída da cadeia. O tamanho é simples. Apenas exibir o valor de _size :

int mystring :: GetSize () { return ( _size );} que irá imprimir

Para saída da cadeia, cada personagem até chegar ao final do string ( que passa a ser o valor de _size ) :

mystring vazio :: outputmystring ()

{for ( int count = 0; count == tamanho ; contar + +)

{ cout << _mystr [ contar ]; }

cout << endl; }
14

Aqui é o seu código completo para MyString.cpp : < br >

/* MyString.cpp * /Tablet

# include

# include

mystring :: mystring () //vazio construtor

{

_size = 0;

_mystr = 0; }


mystring :: mystring ( const char * str ) /* Cria e inicializa string para um valor * /Tablet

{

if ( str)

{ _size = 0; ! _mystr = 0; } /* se não houver valor , string é vazia * /Tablet

mais

{ _size = strlen (str );

_string = new char [ _size +1 ]; /* esta é a nossa dinâmica alocação de memória , com base no tamanho do parâmetro * /

strcopy ( _string , str ) ;

}

}

mystring :: ~ mystring

{ delete [ ] _mystr ;} /* deallocates nossa memória dinâmica * /Tablet

int mystring :: GetSize () { return ( _size );}

mystring vazio : : outputmystring ()

{for ( int count = 0; count == tamanho ; contar + +) {

cout << _mystr [count ]; }

cout << endl; }

Anterior :

Próximo : No
  Os artigos relacionados
·Como converter uma string para um INT C 
·Como fazer um projeto SDL no Código Blocos 
·Como criar um segmento único no CPP 
·Como definir o nível de isolamento em ODBC 
·Ferramentas de desenvolvimento do Mac OS 
·Como declarar uma matriz de estruturas em C 
·Como escrever um C emulador de terminal simples 
·Como compilar Flex para iPhone 
·Como converter Epoch Tempo em C + + 
·Como fazer uma matriz de strings 
  Artigos em destaque
·Objetivo Questionamento em C Programação 
·Como reduzir o tamanho de uma string em C 
·Como Descobrir o número de elementos em uma matriz C +…
·Como usar o Win32 GUI em C + + 
·Como criar um segmento único no CPP 
·Como fazer um jogo de RPG em C + + 
·Como Verificar a existência de um Switch Substring 
·Como usar o C + + para obter USB Pen números de série…
·Como preencher um vetor em C 
·Como escrever um programa em C para ler um número inte…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados