Aktív témák
-
Zulfaim
csendes tag
köszi

-
caddie
csendes tag
Nah nezzuk csak:
class buffer
{
public:
buffer() : buffer(0), size(0){}
buffer(char *b){ /* ... */ }
~buffer(){ delete[] buffer }
// member operator:
buffer& oprator+=( const char* value)
{
// releasing buffer
delete[] buffer;
// checking for size
if ( size = strlen(value) )
{
// creating space for new string
buffer = new char[size+1];
// strncpy the data from value to buffer, maximum number of
// char will be copied is ''size''
strncpy( buffer, value, size );
}
return *this;
}
private:
char* buffer;
int size;
}
int main()
{
buffer b;
b+=''asdfg'';
}
Ok latni kell, hogy a += opreatornal eloszor felszabaditjuk a buffert, meg akkor is ha a parameterul kapott string ures. Ez nem tul elegans megoldas, tobb sebbol is verzik a kod, de beadando szintu problemara asszem mukodokepes.
Nah ez kesz, tobbi menni fog?
ui: van itt egy kis button, az van rairva, hogy: ''kod''. Erdeme hasznalni.
[Szerkesztve] -
Zulfaim
csendes tag
Még konkrét osztályt nem írtam, mert nincs konkrét elképzelésem, hogy lehetne megcsinálni.
class BUFFER {
char* buffer;
int siz;
public:
BUFFER( char *b) { *a tömb feltöltése tetszőleges adattal* }
beolvas(char buffer[]);
~BUFFER(delete[] buffer);
};
BUFFER BUFFER:
perator+=(char buffer, char szoveg)
ennek kéne működnie:
buffer+=szoveg;
[Szerkesztve] -
Zulfaim
csendes tag
válasz
FehérHolló
#2
üzenetére
Írnom kéne egy buffer osztályt és megvalósítani az összes lehetséges műveletet operátor overloaddal(==,++,--,=,+=).
Épp azt nem tudom, hogy mit kéne a függvénytörzsbe írni.
Amúgy kösz a válaszodat. -
FehérHolló
veterán
Egyrészt fölösleges volt új topicot nyirni, a C++ topicban is elfért.
Ott azért nem válaszoltam, mert nem igazán értem a problémádat.
Operator += túltrhelése valami hasonló szintaktikájú függvénnyel megy:
char* Buffer::operator +=(const char* szoveg){
//ide jön a törzs
}
[Szerkesztve] -
Zulfaim
csendes tag
Szevasztok!
Bufferelten kezelt fájlt kellene írnom c++-ban OO-an.
Csináltam egy buffer osztályt, ahol tárolok egy pointert és a méretet.
Ennek kéne működnie:
buffer+=szoveg;
ahol mindketten string-et tároló tömbök.
a szoveget is úgy tárolom, hogy pointer+méret, de azt a main()-ben hozom létre.
Ezt operátor overloaddal kéne megoldani, de nem tudom hogy.
Tudna valaki segíteni?
Aktív témák
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Pécs és környéke adok-veszek-beszélgetek
- Ilyen olcsó sem volt még egy Apple notebook
- Sweet.tv - internetes TV
- gban: Ingyen kellene, de tegnapra
- Autós topik
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- Vicces képek
- VR topik
- Gaming notebook topik
- További aktív témák...
- AKCIÓ! LENOVO ThinkPad P15s Gen2 munkaállomás - i7 1165G7 16GB DDR4 512GB SSD Quadro T500 4GB W
- Lenovo Thinkpad X1 Yoga 6th Gen. i7 11th, 32GB RAM 27% ÁFÁS (0326)
- Lenovo ThinkPad T480s,14",FHD,i5-7300U,8GB DDR4,256GB SSD,WIN11,TOUCH
- AKCIÓ! LENOVO ThinkPad P15 Gen 2 munkaállomás - i7 11800H 32GB DDR4 512GB SSD Quadro T1200 W11
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

perator+=(char buffer, char szoveg)
