Főoldal
|
Regisztráció
|
Bejelentkezés
Multihalmaz osztály operátorai
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 és operátorokat!
-
operator+ (halmaz és elem között)
: hozzáad egy elemet a halmazhoz.
-
operator- (halmaz és elem között)
: 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
-
operator + (halmaz és halmaz között)
: 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
-
operator =!, ==
: ö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
-
operator - (két multihalmaz között)
: kiszámolja a különbséget (itt a multiplicitások is kivonódnak, ha negatív, akkor az elem nem szerepel a különbséghalmazban)
2008.02.03. 11:24:53
|
Permalink
|
Hozzászólások száma:
0
|
Tárgyszavak:
Operátor túlterhelés
Í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