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
- Samsung Galaxy A54 - türelemjáték
- Fotók, videók mobillal
- Luck Dragon: Asszociációs játék. :)
- Apple asztali gépek
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Óvodások homokozója
- Samsung Galaxy A56 - megbízható középszerűség
- Argos: Adjátok vissza a netet! - szeretnék elaludni!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- PlayStation 5
- További aktív témák...
- KBDFans Tofu 60 Redux, custom, angol feliratozású, PBT kupakos, hot swap, programozható billentyűzet
- Keychron Q0 Plus, kiterjesztett numpad kiosztású, halkított, PBT kupakos makropad billentyűzet
- Samsung Galaxy s24 Dual sim 8/128GB Független
- Keychron Q8 halkított, magyar feliratozású PBT kupakos billentyűzet + második csere belső
- Vegyes szimulátoros kiegészítők
- HIBÁTLAN iPhone SE 2020 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS2906, 100% Akkumulátor
- BESZÁMÍTÁS! Asus ROG STRIX Z490-G Gaming WiFi alaplap garanciával hibátlan működéssel
- Microsoft Surface Pro 6 fekete
- Gamer PC- Számítógép! Csere-Beszámítás! I7 4790K / 16GB DDR3 / RX 5700XT 8GB / 512GB SSD
- Meta Quest 3 akkumulátoros fejpánt
Állásajánlatok
Cég: FOTC
Város: Budapest