| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Sådan oprettes en dynamisk String i C + +
    Dynamiske datatyper har ikke en fast størrelse . Når en computer lagrer et nummer , det bruger samme antal bytes at gemme nummeret " 0 " og nummeret " 20000 ". Men prøv at gemme en sætning , og panorama drastisk . Da hver sætning har en forskellig længde, hukommelse, der bruges til at lagre den sætning skal ændres dynamisk. Standard C omfatter ikke en streng datatype , og designe en dynamisk string datatype ( eller snor klasse) er blevet næsten en overgangsrite af nye C /C + + programmør. Hvad du har brug
    Computer
    C + + Compiler (anbefalet : Visual C + + Express)
    Vis Flere Instruktioner
    Design en String Class
    1

    Visualiser de funktioner af din streng klasse. Dit streng skal have følgende: .

    Dynamic størrelse ( ændringer med bruger-input, eller overdragelse )

    Være i stand til at kende størrelsen på din streng

    Output strengen. gemt i hukommelsen.

    Store størrelse .

    Store det første tegn i vores string (da det er dynamisk, behøver du ikke vide , hvor det ender . )
    2 < p> Separat hvilke funktioner på din streng klasse er information (eller data) og hvilke der er funktioner. Normalt , noget, der indebærer handling er en funktion . Fra vores liste: .

    Dynamisk størrelse - > Funktion baseret på, hvordan du konstruerer en streng

    kender størrelsen af strengen - > Funktion

    Output . string - . > Funktion

    Store størrelse - . > data /information

    Store begyndelsen af strengen - . > data /information
    3

    Definer , hvilken rolle hver funktion og den type data medlemmer af din klasse i enkle vendinger . Fra den tidligere liste : Hej

    Dynamisk Size - Funktion - Konstruerer strengen

    kende størrelsen - Funktion - Returns string size

    Output strengen - Funktion - Returnerer . . string indhold

    Store størrelse - . data /information - skal være et positivt heltal

    Store begyndelsen af strengen - . data /information - . en karakter
    < br > Implementering af String Class - header File
    4

    Opret en header fil kaldet mystring.h ( Filer - > Tilføj -> header File) . En header fil er som et indeks for din kode .
    5.

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

    class myString {
    6

    Opret offentlige funktioner til at løse alle de funktioner i dit design. Dette er koden : Hej

    offentlig : Hej

    myString () //opretter en tom streng

    myString ( const char * ) //opretter og initialiserer strengen til vis værdi ( i parentes )

    ~ myString ( ) //deallocates dynamiske hukommelse ressourcer

    int getsize () //viser os størrelsen af strengen

    char * outputmystring ( ) //udgange strengen
    7

    Opret private data medlemmer til at gemme data på din streng. Dette er koden : Hej

    privat : Hej

    int _size //gemmer strengen størrelse

    char * _mystr /* dette er en data medlem , der peger på den første tegn i strengen . Hvis vi ved det første tegn og størrelsen af strengen , kan vi få adgang til alle sine karakterer * /

    }
    8

    Type din komplette header fil kode (du kan kopiere og indsætte herfra ) : Hej

    /* mystring.h * /

    class myString {

    offentlig : Hej

    myString ();

    myString ( const char *)

    ~ myString ();

    int getsize ();

    char * outputmystring ();

    privat : < br >

    int _size ,

    char * _mystr ,

    }
    Gennemførelse af String Class - Code File
    9 < p > Lav et matchende CPP fil kaldet mystring.cpp ( fil-> Tilføj -> cpp fil - tom fil ) . Her vil du medtage definitioner for funktionen på mystring.h header fil. Ligesom en bog , gemmer headerfiler de vigtigste tittles og cpp filer gemme indholdet og definitioner af hver tøddel .
    10

    Medtag CString og iostream biblioteker. Dette er koden : Hej

    /* mystring.cpp * /

    # include

    # include
    11 < p> Definer byggeri funktioner ( tom konstruktion og parameter konstruktion) . Her er koden : Hej

    myString :: myString ( ) //Tom constructor

    {

    _size = 0;

    _mystr = 0; < br >

    }

    myString :: myString ( const char * str ) /* konstruktioner og initialiserer streng til en værdi * /

    {

    if (! str )

    { _size = 0; _mystr = 0 ;} /* Hvis ingen værdi , snor er tom * /

    ellers

    { _size = strlen ( str ) ; < br >

    _string = new char [ _size +1 ] /* dette er vores dynamiske hukommelse tildeling , baseret på størrelsen af parameteren * /

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

    }
    12

    Definer destructor -funktionen. Denne funktion bruges til at de- allokere den dynamiske hukommelse. Hver gang den hukommelse, der anvendes ændringer , skal computeren vide, at det kan bruge den del af hukommelsen til andre formål denne proces kaldes de- allokering . Koden : Hej

    myString :: ~ myString

    { slet [ ] _mystr ;} /* deallocates vores dynamiske hukommelse * /
    13

    Definer funktionen til at returnere strengen størrelse og output strengen . Størrelsen er ligetil . Bare vise værdien af _size : Hej

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

    For at udlæse strengen , vil vi udsende hver karakter , indtil vi når til slutningen af streng ( hvilket sker for at være værdien af ​​_size ) : Hej

    void myString :: outputmystring ()

    { for (int count = 0; count == størrelse , count + +)
    < p> { cout << _mystr [ count ] ;}

    cout << endl; }
    14

    Her er din komplette kode til mystring.cpp : < br >

    /* mystring.cpp * /

    # include

    # include

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

    {

    _size = 0;

    _mystr = 0;

    }

    myString :: myString ( const char * str ) /* konstruktioner og initialiserer streng til en værdi * /

    {

    if ( str. )

    { _size = 0; ! _mystr = 0 ;} /* hvis der ikke værdi , string er tom * /

    ellers

    { _size = strlen ( str ),

    _string = new char [ _size +1 ] /* dette er vores dynamiske hukommelse tildeling , baseret på størrelsen af parameteren * /

    strcopy ( _string , str. ),

    }

    }

    myString :: ~ myString

    { slet [ ] _mystr ;} /* deallocates vores dynamiske hukommelse * /

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

    void myString : : outputmystring ()

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

    { cout << _mystr [ count ] ;}

    cout << endl; }

    Forrige :

    næste :
      Relaterede artikler
    ·Hvad er en pointer i C 
    ·Sådan tilføjes en tekstboks til DataGridView 
    ·Sådan Læs Hex Number C + + 
    ·Hvordan til at fange alle DataGrid Arrangementer 
    ·Skjule C + + Symboler i Static Library 
    ·Hvordan man laver en Moving graf i C # 
    ·Hvordan man beregner en Matrix Transponering i C + + 
    ·Hvordan man opbygger en mobilapplikation , der bruger e…
    ·Sådan Print Pointers i C 
    ·Hvordan man laver en CFG fil med Visual C 
      Anbefalede Artikler
    ·Hvordan man skriver kode for en Tangent i VB.NET 
    ·Sådan ændres type objekt i Python 
    ·Sådan center en fast bredde Div Tag 
    ·Sådan Bind en ComboBox til en tabelkolonne 
    ·Sådan fjernes en Adresselinien i HTML 
    ·Sådan Læs PDF-filer i PHP 
    ·Sådan Erstat vilkårlig tekst i String i C + + 
    ·Fordele & Ulemper ved High- & Low - Level Sprog 
    ·Sådan tilføjes et login knappen for at NIB 
    ·Sådan installeres C + + compilere til Netbeans 
    Copyright © Computer Viden http://www.computerdk.com