@@ -17,31 +17,10 @@ Ugyanakkor a hagyományos "pooling" mintát kiterjesztjük további funkciókkal
...
@@ -17,31 +17,10 @@ Ugyanakkor a hagyományos "pooling" mintát kiterjesztjük további funkciókkal
## RString
## RString
Az első feladat egy `RString` nevű osztály elkészítése. Az osztálynak a következő publikus metódusokkal és konstruktorokkal kell rendelkeznie:
Az első feladat egy `RString` nevű osztály elkészítése. Az osztály megvalósítandó metódusait az `rstring.h` fájl tartalmazza. AZ `RString` osztály szabályos `\0`-val lezárt karakterláncokat reprezentál, ugyanakkor a mögöttes karaktertömb kapacitása szabadon megadható.
```c++
classRString{
A `RString` osztály fenti publikus metódusai tovább nem bővíthetőek, ugyanakkor tetszőleges privát adattaggal/metódussal bővíthető. Természetesen gondoskodni kell a megfelelő dinamikus memóriakazelésről.
public:
// Létrehoz a megadott kapacitással egy karaktertömböt
// A tömb első helyére egy \0-t rak
RString(size_t_capacity);
// Létrehoz egy karaktertömböt strlen(str) + 1 mérettel
// majd odamásolja str tartalmát
RString(constchar*str);
// Létrehoz egy karaktertömböt capacity mérettel,
// majd odamásolja az str string-et
// Ha a string nem fér bele, eldobja a neptun-kódodat
RString(constchar*str,size_tcapacity)
// Megadja a string méretét (strlen)
size_tsize();
// Megadja a karaktertömb kapacitását
size_tcapacity();
// Visszaadja a string memóriaterületére mutató pointert
operatorchar*()const;
};
```
A `RString` osztály fenti publikus metódusai tovább nem bővíthetőek. Természetesen gondoskodni kell a megfelelő dinamikus memóriakazelésről.