Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hvordan lage en dynamisk String i C + +
    Dynamiske datatyper ikke har en fast størrelse . Når en datamaskin lagrer et nummer , bruker det samme antall byte for å lagre nummeret "0" og tallet " 20000 ". Men prøv å lagre en setning og panorama endres dramatisk . Siden hver setning har forskjellig lengde , har de brukes til å lagre setningen for å endres dynamisk . Standard C inkluderte ikke en streng datatype , og utforme en dynamisk streng datatype ( eller streng klasse) har nesten blitt en overgangsrite av eventuelle nye C /C + + programmerer . Du trenger
    Computer
    C + + Compiler ( anbefalt: Visual C + + Express)
    Vis flere instruksjoner
    Design en String klasse
    en

    Visualiser funksjonene av strengen klassen . Din streng må ha følgende: .

    Dynamic størrelse ( endringer med brukerundersøkelser, eller oppdrag )

    Kunne vite størrelsen på strengen din

    Output strengen . lagret i minnet .

    Oppbevar størrelse.

    Lagre det første tegnet i strengen vår (siden det er dynamisk , trenger du ikke vet hvor det ender . )
    2 < p> Separat hvilke funksjoner i din string klassen er informasjon (eller data) og hvilke som er funksjoner. Vanligvis er noe som involverer handling en funksjon . Fra vår liste : .

    Dynamisk størrelse - > Funksjon basert på hvordan konstruere du en streng

    vet størrelsen på strengen - > Funksjon

    Output . string - . > Funksjon

    Oppbevar størrelse - . > data /informasjon

    butikken i begynnelsen av strengen - . > data /informasjon
    3

    definere rollen til hver funksjon , og hvilken type data medlemmer av klassen din på en enkel måte . Fra den forrige listen : en

    Dynamisk Size - Funksjon - Konstruerer strengen

    Kjenn størrelse - Funksjon - Returns streng størrelse

    Output strengen - Funksjon - Returnerer . . string innholdet

    sexy størrelsen - . data /informasjon - må være et positivt heltall

    butikken i begynnelsen av strengen - . data /informasjon - . et tegn

    Implementering av String Class - headerfil
    4

    Lag en header fil som heter mystring.h (Fil - > Legg til - > header File ) . En header -fil er som en indeks for koden din .
    5

    Definer din klasse i header filen . Dette er koden : en

    klasse myString {
    6

    Lag offentlige funksjoner for å håndtere alle funksjonene i design . Dette er koden : en

    public:

    myString (); //lager en tom streng

    myString ( const char * ); //lager og initialiserer strengen til noen verdi ( i parentes )

    ~ myString (); //deallocates dynamisk minne ressurser

    int getsize (); //viser oss størrelsen på strengen

    char * outputmystring (); //utganger strengen
    7

    Lag private data medlemmer til å lagre data for strengen din . Dette er koden : en

    privat : en

    int _size ; //butikker strengen størrelse

    røye * _mystr ; /* dette er en data -medlem som peker til den første tegnet i strengen . Hvis vi vet det første tegnet og størrelsen på strengen , kan vi få tilgang til alle sine karakterer * /

    }
    8

    Skriv ditt fullstendige topptekstfil kode (du kan kopiere og lime fra her) : en

    /* mystring.h * /

    klasse myString {

    public:

    myString ();

    myString ( const char * ) ;

    ~ myString ();

    int getsize ();

    char * outputmystring ();

    private:

    int _size ;

    røye * _mystr ;

    }
    Implementering av String Class - kode File
    9

    Lag et matchende CPP -fil kalt mystring.cpp (Fil - > Legg til - > cpp fil - tom fil ) . Her vil du inkludere definisjonene for funksjonen på mystring.h header-fil . Akkurat som en bok , header-filer lagrer de viktigste tittles , og cpp filer lagre innholdet og definisjoner av hver titta .
    10

    Inkluder CString og iostream biblioteker. Dette er koden : en

    /* mystring.cpp * /

    # include

    # include
    11 < p> Definer bygging funksjoner ( tom konstruksjon og parameter konstruksjon) . Her er koden : en

    myString :: myString () //Tom konstruktør

    {

    _size = 0;

    _mystr = 0 ;

    }

    myString :: myString ( const char * str ) /* konstruerer og initialisert string til en verdi * /

    {

    if ( ! str )

    { _size = 0; _mystr = 0 ;} /* Hvis ingen verdi , er streng tom * /

    annet

    { _size = strlen (str ) ;

    _string = new char [ _size 1 ], /* dette er vår dynamisk minne allokering , basert på størrelsen på parameter * /

    strcopy ( _string , str ) ;
    < p > }

    }
    12

    Definer destructor funksjon . Denne funksjonen brukes til å de- allokere det dynamiske minnet . Hver gang minnet der endres, må datamaskinen vite at det kan bruke den del av minnet for andre formål, Denne prosessen kalles de- allokering . Koden : en

    myString :: ~ myString

    { slette [ ] _mystr ;} /* deallocates vår dynamisk minne * /
    13

    Definer funksjonen for å gå tilbake strengen størrelse og utgang strengen . Størrelsen er grei . Bare vise verdien av _size : en

    int myString :: getsize ( ) {return ( _size ) ;}

    For å skrive ut strengen , vil vi sende ut hvert tegn til vi kommer til slutten av string ( som tilfeldigvis er verdien av _size ) : en

    ugyldig myString :: outputmystring ( )

    { for ( int teller = 0; teller == størrelse ; teller + + )
    < p> {domstol << _mystr [teller ]; }

    cout << endl ;}
    14

    Her er din komplette koden for mystring.cpp :

    /* mystring.cpp * /

    # include

    # include

    myString :: myString () //Tom konstruktør

    {

    _size = 0;

    _mystr = 0;

    }

    myString :: myString ( const char * str ) /* konstruerer og initialisert string til en verdi * /

    {

    if ( str )

    { _size = 0; ! _mystr = 0 ;} /* hvis ingen verdi , strengen er tom * /

    annet

    { _size = strlen (str ) ;

    _string = new char [ _size 1 ], /* dette er vår dynamiske hukommelse tildeling , basert på størrelsen på parameter * /

    strcopy ( _string , str ) ;

    }

    }

    myString :: ~ myString

    { slette [ ] _mystr ;} /* deallocates vår dynamisk minne * /

    int myString :: getsize ( ) {return ( _size ) ;}

    ugyldig myString : : outputmystring ( )

    { for ( int teller = 0; teller == størrelse ; teller + + )

    {domstol << _mystr [teller ]; }

    cout << endl ;}

    früher :

     Weiter:
      Relatert Artike
    ·PowerShell Object Types 
    ·Hvordan lage en string til en Array of Tegn i C + + 
    ·Hvordan Split en String i C 
    ·Hva er Direct3D og OpenGL 
    ·Hvordan å se Samtale Stack i GDB 
    ·Hvordan beregne lengden på String 
    ·Hvordan lage programmer for Windows Mobile Net 
    ·Hvordan å kompilere bruke Dev C + + 
    ·Slik konverterer BitArray til Byte 
    ·Hvordan bruke GDB Med Eclipse 
      Anbefalte artikler
    ·Hvordan Endre JDK i BEA WebLogic 8.1 
    ·Hvordan lære pekere i C 
    ·Hvordan bygge en PHP Web Site 
    ·Hvordan å kompilere et QBasic Program 
    ·Hvordan : Merknader fra Java-kode 
    ·Hvordan skrive et skript som skal vises i Windows Time 
    ·Hvordan å analysere Recursive XML Elements i Java 
    ·Hvordan Start MySQL i Plesk 
    ·Hvordan programmere resten Operator 
    ·Hvordan lage et PHP Mailer 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/