Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť dynamický reťazec v C + +

Dynamické dátové typy nemajú pevnú veľkosť . Keď počítač ukladá číslo , používa rovnaký počet bajtov pre uloženie čísla " 0 " a číslo " 20000 " . Ale pokúste sa uložiť trest a panorámu zmeny dramaticky . Vzhľadom k tomu , každá veta má inú dĺžku , pamäť slúži na ukladanie trestu musí dynamicky meniť . Štandard C nezahŕňal dátový typ reťazec , a navrhnúť dynamický reťazec dátový typ ( alebo triedy String ) sa stal takmer rituál každej novej C /C + + programátor . Veci , ktoré budete potrebovať
Computer
C + + Compiler (odporúča : Visual C + + Express )
Zobraziť ďalšie inštrukcie
Design String triedy
1

Zobrazte vlastnosti svojho reťazca triedy . Váš reťazec musí mať nasledujúce :

Dynamic veľkosť ( zmeny s užívateľským vstupom , alebo priradenie )

byť schopný poznať veľkosť vašej reťazca

Výstupný reťazec .. uložené v pamäti .

Uložte veľkosť .

skladujte prvý znak nášho reťazca ( pretože je dynamická , neviete , kde končí . )
2

Samostatné ktoré ponúka váš reťazec triedy sú informácie ( alebo dáta ) , a ktoré z nich sú funkcie . Zvyčajne , všetko , čo sa týka opatrení , je funkcia . Z nášho zoznamu : ..

Dynamic veľkosť - > Funkcie založené na tom , ako si vytvoriť reťazec

poznať veľkosť reťazec - > Funkcia

výstup string - . > Funkcia

Uložte veľkosť - > dáta /informácie

Uložte začiatok reťazca - . > dáta /informácie
. 3

vymedzuje úlohu jednotlivých funkcií , a typ dátové členov vašej triedy v jednoduchých podmienkach . Z predchádzajúceho zoznamu : ..

Dynamic Veľkosť - Funkcia - Vytvorí reťazec

poznať veľkosť - funkcia - Vracia veľkosť reťazec

Výstupný reťazec - funkcie - vracia obsah reťazec

skladujte veľkosť - . dát /informácií - musí byť celé kladné číslo

Uložte začiatok reťazca - . dát /informácií - . charakteru

Vykonávanie String Trieda - hlavičkový súbor
4

Vytvorte hlavičkový súbor s názvom mystring.h ( súbor - > Pridať - > hlavičkový súbor ) . Hlavičkový súbor je ako index pre váš kód .
5

Definujte triedu v súbore hlavičky. Jedná sa o kód :

trieda mystring {
6

Vytvor verejnej funkcie riešiť všetky funkcie vo svojom dizajne . Jedná sa o kód :

verejnosť :

mystring ( ) ; //vytvorí prázdny reťazec

mystring ( const char * ) ; //vytvorí a inicializuje reťazec niektoré hodnoty ( v zátvorke )

~ mystring ( ) ; //zruší dynamické pamäťové zdroje

int GetSize ( ) ; //nám ukazuje veľkosť reťazca

char * outputmystring ( ) ; //výstupy reťazec
7

Vytvor súkromné ​​dátové členmi ukladať dáta z vášho reťazca . Jedná sa o kód :

súkromia:

int _size ; //uloží veľkosť reťazec

char * _mystr ; /* toto je dátový člen , ktorý ukazuje na prvý znak reťazca . Ak poznáme prvý znak a veľkosť reťazca , môžeme pristupovať ku všetkým jeho znaky * /

}
8

Sem napíšte kompletné hlavičky súboru kód ( môžete skopírovať a vložiť tu ) :

/* mystring.h * /

trieda mystring {

verejnosť :

mystring ( ) ;

mystring ( const char * ) ;

~ mystring ( ) ;

int GetSize ( ) ;

char * outputmystring ( ) ;

súkromia :

int _size ;

char * _mystr ;

}
Implementácia triedy String - Kód Súbor
9

Vytvorte súbor s zodpovedajúce CPP názvom mystring.cpp ( súbor - > Pridať - > cpp - prázdny súbor ) . Tu budete zahŕňať definície funkcie na súbor mystring.h hlavičky. Rovnako ako kniha , hlavičkové súbory ukladať hlavné tituly , a cpp súbory ukladať obsah a definície jednotlivých čiarka .
10

Zahrnúť CString a iostream knižnice . Jedná sa o kód :

/* mystring.cpp * /

# include

# include
11

Definovať stavebné funkcie ( prázdny stavebné a konštrukčné parameter ) . Tu je kód :

mystring :: mystring ( ) //Empty konštruktor

{

_size = 0 ;

_mystr = 0 ;

}

MyString :: MyString ( const char * str ) /* konštrukcia a inicializuje reťazec na hodnotu * /

{

if ( str! )

{ _size = 0 ; _mystr = 0 ; } /* ak žiadna hodnota , reťazec je prázdny * /

iného

{ _size = strlen ( str ) ;

_string = new char [ _size 1 ] ; /* toto je naša dynamická alokácia pamäte , v závislosti na veľkosti parametra * /

strCopyDatabaseOK ( _string , str) ;

}

}
12

Definujte funkciu destruktor . Táto funkcia sa používa pre de - pridelenie dynamickej pamäte . Zakaždým , keď sa používa pamäť zmeny , počítač musí vedieť , že je možné použiť túto časť pamäte pre iné účely , tento proces sa nazýva de - pridelenia. Kód :

mystring :: ~ mystring

{ delete [ ] _mystr ; } /* zrušia naše dynamickej pamäte * /
13

Definujte funkciu pre návrat veľkosť reťazec a výstupný reťazec . Veľkosť je jednoduché. Len zobrazenie hodnoty _size :

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

Pre výstup reťazec , budeme výstup každá postava , až sa dostaneme na koniec string ( ktorý sa stane byť hodnota _size ) :

void mystring :: outputmystring ( )

{ for ( int count = 0 ; počítať == veľkosť , počítať + + )

{ cout << _mystr [ počet ] ; }

cout << endl ; }
14

Tu je Váš kompletný kód pre mystring.cpp :

/* mystring.cpp * /

# include

# include

mystring :: myString ( ) //Empty konštruktér

{

_size = 0 ;

_mystr = 0 ;

}

mystring :: mystring ( const char * str ) /* konštrukcia a inicializuje reťazec na hodnotu * /

{

if ( str )

{ _size = 0 ; ! _mystr = 0 ; } /* ak nie je hodnota , reťazec je prázdny * /

iného

{ _size = strlen ( str) ;

_string = new char [ _size 1 ] ; /* toto je náš dynamický alokácie pamäte , v závislosti na veľkosti parametra * /

strCopyDatabaseOK ( _string , str) ;

}

}

mystring :: ~ myString

{ delete [ ] _mystr ; } /* zruší svoje dynamickej pamäte * /

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

void myString : : outputmystring ( )

{ for ( int count = 0 ; počítať == veľkosť , počítať + + )

{ cout << _mystr [ počet ] ; }

cout << endl ; }

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené