Multihalmaz osztály elmentése és betöltése

Készítsünk egész elemeket tartalmazó multihalmazokat reprezentáló osztályt (Multiset)! A multihalmazok és a halmazok között annyi a különbség, hogy a multihalmaz egy elemet többször is tartalmazhat. Egy elem multiplicitása azt adja meg, hogy az elem hányszor van benne a halmazban.

A multihalmazban ezúttal nem rögzítjük az elemek maximális számát. Figyeljünk az egységbezárás alapelvére, használjunk konstruktorokat és privát tagváltozókat, valamint a dinamikus adattagokat tartalmazó osztályok implementálásánál előkerülő dolgokra (destruktor, másoló konstruktor, egyenlőségoperátor)! Implementáljuk az alábbi publikus tagfüggvényeket!

   - add: hozzáad egy elemet a halmazhoz.
   - remove: csökkenti az adott elem multiplicitását, ha az nullára csökkenne, eltávolítja az elemet.
   - get: visszaadja egy elem multiplicitását, ha nincs benne, akkor nullát ad vissza
   - union: az uniót számolja ki: az unióban az egyes elemek multiplicitásai az elem eredeti hamazokban lévő multiplicitásának összege
   - intersection: kiszámolja a multihalmazok metszetét: itt az azonos, de többször szereplő elemeket különbözőnek kell tekinteni a halmazhoz képest
   - compare: összehasonlít két halmazt: itt is az azonos, de többször szereplő elemeket különbözőnek kell tekinteni az összehasonlításkor

Készítsünk függvényeket, melyekkel a multihalmaz tartalma elmenthető állományokba, illetve onnan betölthető.






2008.02.03. 11:34:05 |  Permalink  |  Hozzászólások száma: 0  |  Tárgyszavak: Állományok kezelése


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások