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
- Küszöbön az androidos PC-k
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Autós topik látogatók beszélgetős, offolós topikja
- A fociról könnyedén, egy baráti társaságban
- Kezdő fotósok digitális fényképei
- Fűnyíró topik
- Gumi és felni topik
- XPEnology
- gban: Ingyen kellene, de tegnapra
- Kerékpárosok, bringások ide!
- További aktív témák...
- Latitude 9420 27% 14" FHD+ IPS i7-1185G7 16GB 512GB NVMe IR kam gar
- Apple MacBook Air M1 Chip Laptop (8/256 GB), Szép Állapotban, Magyar Billentyűzettel, Dobozzal
- Meta Quest 3 Gamer / VR Headset Szép Állapotban Dobozzal
- ZBook Studio 15 G8 15.6" FHD IPS i7-11850H RTX A2000 32GB 1TB NVMe ujjlolv IR kam gar
- ZBook Studio 15 G8 15.6" FHD IPS i7-11850H RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3362
- HIBÁTLAN iPhone 14 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3237
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- Katonai Rugged laptopok Panasonic Toughbook és Getac S410 6-11.gen gar.
- Honor 90 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest