| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo crear una cadena dinámica en C + +
    tipos de datos dinámicos no tienen un tamaño fijo. Cuando un ordenador se almacena un número, se utiliza el mismo número de bytes para almacenar el número " 0 " y el número " 20000 ". Pero trata de almacenar una frase y el panorama cambia dramáticamente. Dado que cada frase tiene una longitud diferente , la memoria utilizada para almacenar la frase tiene que cambiar de forma dinámica . Norma C no incluía un tipo de datos de cadena , y el diseño de un tipo de datos de cadena dinámica (o clase de cadena ) se ha convertido en casi un rito de paso de cualquier nuevo programador de C + C /+ . Cosas que necesitará de computadora
    C + + Compiler (recomendado : Visual C + + Express)
    Ver Más instrucciones
    Diseño String Clase
    1

    Visualice las características de la clase string . La cadena debe tener lo siguiente: .

    Tamaño dinámico ( cambios con la entrada del usuario , o cesión )

    ser capaz de saber el tamaño de su cadena

    salida de la cadena. almacenada en la memoria.

    tienda el tamaño.

    tienda el primer carácter de nuestra cadena (ya que es dinámico, no se sabe dónde termina. )
    2 < p> independiente que cuenta de la clase de cadena son la información ( o datos) y cuáles son las funciones . Por lo general, todo lo que implica la acción es una función. Desde nuestra lista: .

    Tamaño dinámico - > Función basado en cómo se construye una cadena

    saber el tamaño de la cadena -> Función

    salida del . string - . > Función

    tienda del tamaño - . > Datos /información

    tienda el principio de la cadena - . > datos /información
    3

    definir el papel de cada función, y el tipo de datos de los miembros de su clase en términos simples. En la lista anterior :

    dinámico Size - Función - Construye la cadena

    Saber el tamaño - Función - Devoluciones tamaño de la cadena

    salida de la cadena - Función - Devuelve el . . contenido de la cadena

    tienda del tamaño - . datos /información - debe ser un número entero positivo

    tienda el principio de la cadena - . datos /información - . un personaje

    Implementación de la clase String - Encabezado del archivo
    4

    Crear un archivo de encabezado denominado mystring.h (File - > Add - > File Header ) . Un archivo de cabecera es como un índice para el código.
    5

    Defina su clase en el archivo de cabecera . Este es el código:

    micadena clase {
    6

    Crear funciones públicas para hacer frente a todas las funciones de su diseño. Este es el código:

    público :

    micadena (); //crea una cadena vacía

    micadena (const char * ) //crea e inicializa la cadena de un valor ( entre paréntesis )

    ~ micadena (); //desasigna recursos de memoria dinámica

    getSize int (); //nos muestra el tamaño de la cadena

    char * outputmystring (); //imprime la cadena
    7

    Crear miembros de datos privados para almacenar los datos de la cadena . Este es el código:

    privada :

    int _size ; //almacena la cadena de tamaño

    char * _mystr ; /* este es un miembro de datos que apunta a la primera carácter de la cadena . Si sabemos que el primer carácter y el tamaño de la cadena , se puede acceder a todos sus caracteres * /foto

    }
    8

    Escriba su código completo archivo de cabecera (se puede copiar y pegar desde aquí) :

    /* mystring.h * /foto

    clase micadena {

    público :

    micadena ();

    micadena (const char * ) ;

    ~ micadena ();

    getSize int ();

    char * outputmystring ();

    privada:

    int _size ;

    char * _mystr ;

    }
    aplicación de la clase String - archivo de código
    9

    Crear un archivo CPP juego llamado mystring.cpp ( archivo-> Añadir -> cpp - archivo vacío ) . Aquí, se incluyen las definiciones de la función en el archivo de cabecera mystring.h . Al igual que un libro, archivos de cabecera almacenan los principales tittles y cpp archivos almacenan los contenidos y definiciones de cada tilde .
    10

    Incluya el cstring y bibliotecas iostream . Este es el código:

    /* mystring.cpp * /foto

    # include

    # include
    11 < p> Definir las funciones de construcción (construcción vacía y la construcción de parámetros) . Aquí está el código :

    micadena :: micadena () /constructor /Empty

    {

    _size = 0 ;

    _mystr = 0 ; < br >

    }

    :: MiCadena MiCadena ( const char * str ) /* construye e inicializa cadena en un valor * /foto


    { if (! str)

    { _size = 0 ; _mystr = 0 ;} /* si no hay valor , cadena está vacía * /foto

    más

    { _size = strlen ( cadena) ; < br >

    _string = new char [ _size 1 ] ; /* esta es nuestra asignación de memoria dinámica , basada en el tamaño del parámetro * /foto

    strcopy ( _string , str ) ;
    < p >} }


    12

    Definir la función de destructor. Esta función se utiliza para de- asignar la memoria dinámica. Cada vez que la memoria utilizada cambios , el equipo debe saber que puede usar esa parte de la memoria para otros usos; este proceso se denomina de- asignación . El código :

    micadena :: ~ micadena

    { delete [ ] _mystr ;} /* desasigna nuestra dinámica de memoria * /
    13

    Definir la función para volver el tamaño de la cadena y la salida de la cadena. El tamaño es sencillo. Simplemente mostrar el valor de _size :

    int micadena :: getSize () {return ( _size ) ;}

    Para emitir la cadena, que es la salida de cada personaje hasta llegar a la final de la string ( que pasa a ser el valor de _size ) :

    void micadena :: outputmystring ()

    {for (int cuenta = 0 ; cuenta == tamaño ; cuenta + +)
    < p > { cout << _mystr [cuenta] ;}

    cout << endl ;}
    14

    Aquí está el código completo para mystring.cpp : < br >

    /* mystring.cpp * /foto

    # include

    # include

    micadena :: micadena () //Vaciar constructor

    {

    _size = 0 ;

    _mystr = 0 ; }


    micadena :: micadena (const char * str ) /* construye e inicializa cadena en un valor * /foto


    { if ( str )

    { _size = 0 ; ! _mystr = 0 ;} /* si no hay valor , cadena está vacía * /foto

    más

    { _size = strlen ( cadena) ;

    _string = new char [ _size 1 ] ; /* esta es nuestra dinámica asignación de memoria, según el tamaño del parámetro * /foto

    strcopy ( _string , str ) ;

    }

    }

    micadena :: ~ micadena

    { delete [ ] _mystr ;} /* desasigna nuestra dinámica de memoria * /foto

    int MyString :: getSize () {return ( _size ) ;}

    void micadena : : outputmystring ()

    {for (int cuenta = 0 ; cuenta == tamaño ; cuenta + + )

    { cout << _mystr [cuenta] ;}

    cout << endl ;}

    Previous :

    next :
      Artículos relacionados
    ·Cómo aprender a codificar un microcontrolador en C 
    ·Opciones del compilador C de Windows Mobile 
    ·Cómo convertir un número a un personaje usando C + + 
    ·Cómo insertar una matriz en el primer elemento con C +…
    ·Cadena de conexión para la autenticación de SQL 
    ·¿Qué es la depuración de programación C 
    ·Cómo dibujar líneas en Visual C + + 
    ·Cómo hacer una carpeta en C + + 
    ·Características de Turbo C 
    ·Cómo firmar un archivo SIS Aplicación Nokia 
      Artículos destacados
    ·Cómo crear una aplicación de Windows Forms 
    ·Comparar MySQL vs. SQLite 
    ·Cómo forzar Java para números redondos 
    ·¿Cómo hacer un resumen para un Script 
    ·Cómo devolver un vector a partir de una función 
    ·Cómo conectar VB.NET Con Oracle 
    ·Cómo utilizar Eclipse a la lista Funciones obsoletas 
    ·Cómo crear ActiveX en VB 
    ·Cómo subir una barra de progreso de PHP 
    ·Cómo hacer un cuadro de desplazamiento para formulario…
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com