מונחה עצמים- תרגול 7 | operator overloading

Upload: ron

Post on 04-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Operator overloading | - 7

    1/46

    Gfbik~ Gvli`~in Zvgavdhhl`a^lvayc 1Gzivd~gv g ivcgdnl`a

  • 7/30/2019 Operator overloading | - 7

    2/46

    %l`~ 2 l`~ dnn-l`~ l,5 l`~ l 8 b % e5 2

    l`~ l 8 b.dnn-e,5

    #

  • 7/30/2019 Operator overloading | - 7

    3/46

    # -# %l`~,

    -,& gzivd~gv]#]

  • 7/30/2019 Operator overloading | - 7

    4/46

    '' Zgl`~.m

    +lo`nio ZGL@^WM+niol`i ZGL@^WM

    kcd{{ Zgl`~ u zvl d~i2

    l`~ hWl]# hWl\5zyfclk2

    Zgl`~ -l`~ dc]# l`~ dc\,uhWl]8 dc]5 hWl\8 dc\5 x

    pZgl`~-,5

    ''Kmike{ lo z488z6. fggc gzivd~gv88-kg`{~ Zgl`~ /z4, kg`{~ 5

    ''Nl{~d`ki fi~qii` 6 zgl`~{.ngyfci gzivd~gv( -kg`{~ Zgl`~ z4, kg`{~ 5

    x5+i`nlo

    '' Zgl`~.kzz

    +l`kcyni 3khd~m0+l`kcyni 3lg{~vidh0+l`kcyni &Zgl`~.m&

    y{l`a `dhi{zdki {~n5

    Zgl`~22pZgl`~-, ukgy~ 33 &NIFYA(Aggnf|i...S`&5

    x

    '' Kmike{ lo ~mi zgl`~{ dvi itydc.fggc Zgl`~22gzivd~gv88-kg {~ Zgl`~ /z4, kg`{~ u

    vi~yv` --hWl]88z4.hWl],//-hWl\88z4.hWl\,,5u

    '' Kdckycd~i{ ~mi nl{~d`ki fi~qii` ~mi ~qg zgl`~{.ngyfci Zgl`~22gzivd~gv(-kg`{~ Zgl`~ z4, kg`{~ u

    vi~yv` - {tv~- zgq-hWl](z4.hWl]#6.:, %zgq-hWl\(z4.hWl\#6.:,,,5

    x

    ~ml{.

    ~ml{$

  • 7/30/2019 Operator overloading | - 7

    5/46

    ''hdl`.kzz

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &Zgl`~.m&

    l`~ hdl`-, uZgl`~ z4-4#6,# z6-;#9,5lo-z488z6,

    kgy~33&^mi ~qg zgl`~{ dvi itydc.S`&5ic{i

    kgy~33&^mi ~qg zgl`~{ dvi @G^itydc.S`&5

    kgy~ 33&^mi nl{~d`ki fi~qii` ~mi ~qgzgl`~{2&33 z4(z6 33i`nc5

    vi~yv` :5

    x

    gy~zy~2

    ^mi ~qg zgl`~{ dvi @G^ itydc

    NIFYA( Aggnf|i

    ^mi nl{~d`ki fi~qii` ~mi ~qgzgl`~{2;.?:999

    NIFYA( Aggnf|i

    NIFYA( Aggnf|i

    &(& f| dcyiz6

    .

  • 7/30/2019 Operator overloading | - 7

    6/46

    2&(&ngyfci.

    &88& fggc.

    7

  • 7/30/2019 Operator overloading | - 7

    7/46

    +lo`nio OVDK^LG@WM+niol`i OVDK^LG@WM

    kcd{{ Ovdk~lg`u

    '' nd~dl`~ hWl@gh5l`~ hWlNi`gh5

    '' gzivd~lg`{l`~ akn -l`~ l# l`~ b,5

    gln vinyki -,5

    zyfclk2Ovdk~lg` -l`~ ``8:# l`~ n`84,5 '' 4 nikcdvd~lg` 8 ; kg`{~vyk~gv{

    x5

    +i`nlo

  • 7/30/2019 Operator overloading | - 7

    8/46

    +l`kcyni &Ovdk~lg`.m&+l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    Ovdk~lg`22Ovdk~lg` -l ~ ``# l`~ nn, 2hWl@gh -` ,# hWlNi`gh -nn, ulo -hWlNi`gh 88 :,

    hWlNi gh 8 45vinyki -,5kgy~00&Ovdk~lg`2

    33hWl@gh33&'33hWlNi`gh

    33i`nc5u

    l`~ Ovdk~lg`22akn -l`~ l# l`~ b, ulo --l 88 :, ss -b 88 :,,

    vi~yv` l % b5

    qmlci -l )8 b, ul`~ ~ 8 l5l 8 b5

    b 8 ~5uvi~yv` b5

    u

    gln Ovdk~lg`22vinyki -, ul`~ a 8 akn -hWl@gh# hWlNi`gh,5hWl@gh '8 a5hWlNi`gh '8 a5

    u

  • 7/30/2019 Operator overloading | - 7

    9/46

    2%

    "'

  • 7/30/2019 Operator overloading | - 7

    10/46

    +lo`nio OVDK^LG@WM+niol`i OVDK^LG@WM

    kcd{{ Ovdk~lg`u

    '' nd~d

    l`~ hWl@gh5l`~ hWlNi`gh5

    '' gzivd~lg`{l`~ akn -l`~ l# l`~ b,5

    gln vinyki -,5

    zyfclk2Ovdk~lg` -l`~ ``8:# l`~ n`84,5 '' 4 nikcdvd~lg` 8 ; kg`{~vyk~gv{Ovdk~lg` gzivd~gv % -kg`{~ Ovdk~lg` /o4, kg`{~5Ovdk~lg` gzivd~gv ( -kg`{~ Ovdk~lg` /o4, kg`{~5Ovdk~lg` gzivd~gv " -kg`{~ Ovdk~lg` /o4, kg`{~5Ovdk~lg` gzivd~gv ' -kg`{~ Ovdk~lg` /o4, kg`{~5

    x5+i`nlo

    & 7

  • 7/30/2019 Operator overloading | - 7

    11/46

    %

    6 Ovdk~lg`2

    vio

    ; 9

    @gh Nihg`

    4 9

    @gh Nihg`

    > 9

    @gh Nihg`

  • 7/30/2019 Operator overloading | - 7

    12/46

    %

    ;7

    6 -,

    # & % f| dcyi#

    Ovdk~lg`

    ; 9

    @gh Nihg`

    4 9

    @gh Nihg`

    6 9

    @gh Nihg`

    > 9

    @gh Nihg`

    ? 9

    @gh Nihg`

  • 7/30/2019 Operator overloading | - 7

    13/46

    Ovdk~lg`kg`{~ Ovdk~lg`7 2

    l`~ l8;%>5 %l`~% kg`{~ l`~ 1

    (K.K~gvl`~vio l`~ l

    kg`{~ l`~ - $ ,

    $

    (K.K~gv kg`{~$

  • 7/30/2019 Operator overloading | - 7

    14/46

    kg`{~ l`~l`~7 &K.K~gv.

    # .

    & kg`{~ l`~l`~

    kg`{~ Ovdk~lg`

  • 7/30/2019 Operator overloading | - 7

    15/46

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv % -kg`{~ Ovdk~lg` /o4, kg`{~ ul`~ `` 8 hWl@gh " o4.hWlNi`gh %hWlNi`gh " o4.hWl@gh5l`~ nn 8 hWlNi`gh " o4.hWlNi`gh5vi~yv` Ovdk~lg` -``# nn,5

    u

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv ( -kg`{~ Ovdk~lg` /o4, kg`{~ ul`~ `` 8 hWl@gh " o4.hWlNi`gh (hWlNi`gh " o4.hWl@gh5l`~ nn 8 hWlNi`gh " o4.hWlNi`gh5vi~yv` Ovdk~lg` -``# nn,5

    xkg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv " -kg`{~ Ovdk~lg` /o4, kg`{~ u

    l`~ `` 8 hWl@gh " o4.hWl@gh5l`~ nn 8 hWlNi`gh " o4.hWlNi`gh5vi~yv` Ovdk~lg` -``# nn,5

    ukg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv ' -kg`{~ Ovdk~lg` /o4, kg`{~ u

    l`~ ` 8 hWl@gh " o4.hWlNi`gh5l`~ nn 8 hWlNi`gh " o4.hWl@gh5vi~yv` Ovdk~lg` -``# nn,5

    x

  • 7/30/2019 Operator overloading | - 7

    16/46

    ''hdl`.kzz

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &Ovdk~lg`.m&

    l`~ hdl`-, uOvdk~lg` o4-4#6,5Ovdk~lg` o6-6,5Ovdk~lg` o;5

    Ovdk~lg` o>8o6%65Ovdk~lg` o98o6(o4%o>5

    vi~yv` :5x

    gy~zy~2

    Ovdk~lg`2 4'6

    Ovdk~lg`2 6'4

    Ovdk~lg`2 :'4

    Ovdk~lg`2 6'4

    Ovdk~lg`2 >'4

    Ovdk~lg`2 ;'6

    Ovdk~lg`2 44'6

    &.

  • 7/30/2019 Operator overloading | - 7

    17/46

    o4%6# kd{~ &6&(l`~(Ovdk~lg`

    7 2

    -kd{~(,

    K%% kd{~&(kg`{~vyk~gv Ovdk~lg` 6

    &Ovdk~lg`Ovdk~lg`

  • 7/30/2019 Operator overloading | - 7

    18/46

    6%o47 - , l`~

    ! (l`~# %# Ovdk~lg`

    7

    % kd{~ (Ovdk~lg`$ l`~

  • 7/30/2019 Operator overloading | - 7

    19/46

    6 Ovdk~lg`. 6(Ovdk~lg`#

    ## ! & Ovdk~lg`- .,

    Ovdk~lg`7

    kg`{~ Ovdk~lg` gzivd~gv % -kg`{~ Ovdk~lg` /o4# kg`{~ Ovdk~lg` /o6, ul`~ `` 8 o4.hWl@gh " o6.hWlNi`gh % o4.hWlNi`gh " o6.hWl@gh5l`~ nn 8 o4.hWlNi`gh " o6.hWlNi`gh5vi~yv` Ovdk~lg` -``# nn,5

    x

  • 7/30/2019 Operator overloading | - 7

    20/46

    ovli`n

    &

    .

    #

    ovli`n

    ''Ovdk~lg`.kzzkg`{~ Ovdk~lg` gzivd~gv % -kg`{~ Ovdk~lg` /o4# kg`{~ Ovdk~lg` /o6, u

    l`~ `` 8 o4.hWl@gh " o6.hWlNi`gh % o4.hWlNi`gh " o6.hWl@gh5l`~ nn 8 o4.hWlNi`gh " o6.hWlNi`gh5vi~yv` Ovdk~lg` -``# nn,5

    x

    ''Ovdk~lg`.movli`n kg`{~ Ovdk~lg` gzivd~gv % -kg`{~ Ovdk~lg` /o4# kg`{~ Ovdk~lg` /o6,5

  • 7/30/2019 Operator overloading | - 7

    21/46

    ''H|[v~l`a.m

    +lo`nio H\W[^VL@AWM+niol`i H\W[^VL@AWM

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    kcd{{ H|[~vl`au

    kmdv" hWz{[~v5zyfclk2

    H|[~vl`a-kmdv" {~v,5H|[~vl`a -kg`{~ H|[~vl`a/ ov,5pH|[~vl`a -,5

    u5

    +i`nlo

    ''H|[v~l`a.kzz

    +l`kcyni &H|[~vl`a.m&+l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    H|[~vl`a22H|[~vl`a-kg`{~ kmdv "{~v, uhWz{[~v8`iq kmdv U{~vci`-{~v, %4X5{~vkz|-hWz{[~v# {~v,5

    x

    H|[~vl`a22H|[~vl`a-kg`{~ H|[~vl`a / h|[~v, u

    hWz{[~v8`iq kmdv U{~vci`-h|[~v.hWz{[~v, %4X5{~vkz|-hWz{[~v#h|[~v.hWz{[~v,5

    x

    H|[~vl`a22pH|[~vl`a-, unici~i hWz{[~v5

    x

  • 7/30/2019 Operator overloading | - 7

    22/46

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &H|[~vl`a.m&

    l`~ hdl`-,

    u

    H|[~vl`a {~v-&dfk&,5H|[~vl`a {~v6 8 {~v5{~v68{~v5

    vi~yv` :5x

    2(kg`{~vyk~gv

    ({~v dfk

    4::(K.K~gv2

    ({~v6 dfk 6::

    (K.K~gv7 ({~v6 dfk

    ;::

    6::7

  • 7/30/2019 Operator overloading | - 7

    23/46

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &H|[~vl`a.m&

    l`~ hdl`-,

    x

    H|[~vl`a {~v-&dfk&,5H|[~vl`a {~v6 8 {~v5{~v68{~v5

    vi~yv` :5u

    .

    H|[~vl`a/& .

    {~v48{~v68{~v;5

    ''H|[~vl`a.mH|[~vl`a/ gzivd~gv 8 -kg`{~ H|[~vl`a /o,5

    ''H|[~vl`a.kzzH|[~vl`a/ H|[~vl`a22gzivd~gv 8-kg`{~ H|[~vl`a /h|[~v, u

    nici~iUX hWz{[~v5hWz{[~v8`iq kmdv

    U{~vci`-h|[~v.hWz{[~v, %4X5{~vkz|-hWz{[~v#h|[~v.hWz{[~v,5vi~yv` "~ml{5

    x

  • 7/30/2019 Operator overloading | - 7

    24/46

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &H|[~vl`a.m&

    l`~ hdl`-,

    x

    H|[~vl`a {~v-&dfk&,5H|[~vl`a {~v6 8 {~v5{~v68{~v5

    vi~yv` :5u

    K.K~gv

    K.K~gv &

    && S f| dcyi

    &K.K~gv

    Gzivd~gv 8

  • 7/30/2019 Operator overloading | - 7

    25/46

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &H|[~vl`a.m&

    l`~ hdl`-,

    x

    H|[~vl`a {~v-&dfk&,5{~v8{~v5

    vi~yv` :5u

    7(kg`{~vyk~gv

    ({~v dfk

    4::

    4::777

    $

    2

    $

  • 7/30/2019 Operator overloading | - 7

    26/46

    +l`kcyni 3lg{~vidh0y{l`a `dhi{zdki {~n5

    +l`kcyni &H|[~vl`a.m&

    l`~ hdl`-,

    x

    H|[~vl`a {~v-&dfk&,5{~v8{~v5

    vi~yv` :5u

    &

    ''H|[~vl`a.mH|[~vl`a/ gzivd~gv 8 -kg`{~ H|[~vl`a /o,5

    ''H|[~vl`a.kzzH|[~vl`a/ H|[~vl`a22gzivd~gv 8-kg`{~ H|[~vl`a /h|[~v,u

    lo -~ml{ 88 /h|[~v,vi~yv` "~ml{5

    nici~iUX hWz{[~v5hWz{[~v8`iq kmdv

    U{~vci`-h|[~v.hWz{[~v, %4X5{~vkz|-hWz{[~v#h|[~v.hWz{[~v,5vi~yv` "~ml{5

    x

  • 7/30/2019 Operator overloading | - 7

    27/46

    %8

    ''Ovdk~lg`.mOvdk~lg`/ gzivd~gv %8 -kg`{~ Ovdk~lg` /o,5

    ''Ovdk~lg`.kzzOvdk~lg`/ Ovdk~lg`22gzivd~gv %8 -kg`{~ Ovdk~lg` /o, u

    -"~ml{, 8 -"~ml{, % o5vi~yv` "~ml{5

    x

    &

    %87 ~ml{ (~ml{~ml{

  • 7/30/2019 Operator overloading | - 7

    28/46

    62Zviol} -%%l,

    Zg{~ol} -l%%,

    %%

    l`~ l-6,# b5 b 8 %%l5kgy~ 33&l2&33l33i`nc5kgy~ 33&b2&33b33i`nc5kgy~33i`nc5

    b 8 l%%5kgy~ 33&l2&33l33i`nc5kgy~ 33&b2&33b33i`nc5

    l2;B2;

    l2>B2;

  • 7/30/2019 Operator overloading | - 7

    29/46

    2Zviol} -%%l,

    ~ml{7(Zg{~ol} -l%%, (~ml{

    -., ~ml{.

    # (~ml{

    7(

    %%

    Ovdk~lg`/

    kg`{~ Ovdk~lg`

  • 7/30/2019 Operator overloading | - 7

    30/46

    2 6 ...

    7 (Zg{~ol}--l%%,,

    %%

    Ovdk~lg`/ gzivd~gv %% -,5 '' zviol}2 %%dkg`{~ Ovdk~lg` gzivd~gv %% -l`~,5 '' zg{~ol}2 d%%

  • 7/30/2019 Operator overloading | - 7

    31/46

    %%

    ''Ovdk~lg`.mOvdk~lg`/ gzivd~gv %% -,5 '' zviol}2 %%dkg`{~ Ovdk~lg` gzivd~gv %% -l`~,5 '' zg{~ol}2 d%%

    ''Ovdk~lg`.kzzOvdk~lg`/ Ovdk~lg`22gzivd~gv %% -, u '' zviol}2 %%d

    hWl@gh %8 hWlNi`gh5vinyki -,5vi~yv` "~ml{5

    u

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv %% -l`~, u '' zg{~ol}2 d%%l`~ ` 8 hWl@gh5l`~ nn 8 hWlNi`gh5hWl@gh %8 hWlNi`gh5vinyki -,5vi~yv` Ovdk~lg` -``# nn,5

    u

  • 7/30/2019 Operator overloading | - 7

    32/46

    (zg{~ol}2

    7

    %%

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv %% -l`~, ul`~ `` 8 hWl@gh5l`~ nn 8 hWlNi`gh5hWl@gh %8 hWlNi`gh5vinyki -,5vi~yv` Ovdk~lg` -``# nn,5

    u

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv %% -l`~, uOvdk~lg` o -hWl@gh#hWlNi`gh,5hWl@gh %8 hWlNi`gh5vinyki -,5vi~yv` o5

    u

  • 7/30/2019 Operator overloading | - 7

    33/46

    7 Ovdk~lg`o

    (K.K~gv- f| dc,

    (K.K~gv o

    (o

    %%

    Ovdk~lg` o;5Ovdk~lg` o> 8 o;%%5

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv %% -l`~, uOvdk~lg` o -hWl@gh#hWlNi`gh,5hWl@gh %8 hWlNi`gh5vinyki -,5vi~yv` o5

    u

  • 7/30/2019 Operator overloading | - 7

    34/46

    Ovdk~lg`o

    (K.K~gv- f| dc,

    (K.K~gv o

    (o # .

    - (K.K~gv,

    %%

    Ovdk~lg` o;5Ovdk~lg` o> 8 o;%%5

    kg`{~ Ovdk~lg` Ovdk~lg`22gzivd~gv %% -l`~, ul`~ `` 8 hWl@gh5l`~ nn 8 hWlNi`gh5hWl@gh %8 hWlNi`gh5vinyki -,5

    vi~yv` Ovdk~lg` -``# nn,5u

  • 7/30/2019 Operator overloading | - 7

    35/46

    00(33 g{~vidh(l{~vidh-,

    # kgy~ g{~vidh(kl` l{~vidh

    # kgy~33l5 7

    7

    33(00

    g{~vidh/

  • 7/30/2019 Operator overloading | - 7

    36/46

    7

    o33kgy~5o00kl`5

    kgy~33o5 kl`00o5

    gln

    33(00''Ovdk~lg`.m

    gln gzivd~gv 00 -l{~vidh /l{,5gln gzivd~gv 33 -g{~vidh /g{, kg`{~5

    ''Ovdk~lg`.kzzgln Ovdk~lg`22gzivd~gv 00 -l{~vidh /l{, u

    kmdv nl [la`5l{ 00 hWl@gh 00 nl [la` 00 hWlNi gh5lo -hWlNi`gh 88 :,

    hWlNi gh 8 45vinyki -,5

    u

    gln Ovdk~lg`22gzivd~gv 33 -g{~vidh/ g{, kg`{~ ug{ 33 hWl@gh 33 &'& 33 hWlNi`gh5

    u

  • 7/30/2019 Operator overloading | - 7

    37/46

    2 ovli`n2

    # 2

    33(00

    ''Ovdk~lg`.movli`n l{~vidh/ gzivd~gv 00 -l{~vidh /l{# Ovdk~lg` /o,5ovli`n g{~vidh/ gzivd~gv 33 -g{~vidh /g{# kg`{~ Ovdk~lg` /o,5

    ''Ovdk~lg`.kzzl{~vidh/ gzivd~gv 00 -l{~vidh /l{# Ovdk~lg` /ovdk, u

    kmdv nl [la`5l{ 00 ovdk.hWl@gh 00 nl [la` 00 ovdk.hWlNi`gh5lo -ovdk.hWlNi`gh 88 :,

    ovdk.hWlNi`gh 8 45ovdk.vinyki -,5vi~yv` l{5

    u

    g{~vidh/ gzivd~gv 33 -g{~vidh/ g{# kg`{~ Ovdk~lg` /ovdk, uvi~yv` g{ 33 ovdk.hWl@gh 33 &'& 33 ovdk.hWlNi`gh5

    u

  • 7/30/2019 Operator overloading | - 7

    38/46

    2

    XU

    ''_ik~gv.m

    kcd{{ ik~gv ul`~" hWnd~d5l`~ hW{lri5

    zyfclk2 _ik~gv-l`~ {lri8:#l`~ l`l~_dc8:,5_ik~gv-kg`{~ _ik~gv/ ,5l`~ ai~-l`~ l`ni},5

    gln {i~-l`~ l`ni}#l`~ dc,5x

  • 7/30/2019 Operator overloading | - 7

    39/46

    {i~(ai~

    U6X 8 >5 .gzivd~gvUX-6, 8 >5

    7l`~/

    7l`~/ gzivd~gvUX -l`~ l,5

    ai~({i~-

    !,

    XU

  • 7/30/2019 Operator overloading | - 7

    40/46

    7

    $ kg`{~.

    kg`{~$

    XU

    gln o-kg`{~ _ik~gv/ , ul`~ l8 U;X5

    x

  • 7/30/2019 Operator overloading | - 7

    41/46

    2-,kg`{~$

    7kg`{~ l`~/ .

    7kg`{~ l`~/ gzivd~gvUX -l`~ l, kg`{~5

    XU

  • 7/30/2019 Operator overloading | - 7

    42/46

    Ovdk~lg`(ngyfci2

    ''Ovdk~lg`.mgzivd~gv ngyfci -, u vi~yv` --ngyfci, hWl@gh, ' hWlNi`gh5 x

  • 7/30/2019 Operator overloading | - 7

    43/46

    $

    o4%6 2

    6(Ovdk~lg` %7

    o4(ngyfci %ngyfci7

    # - .~gNgyfci-,# ~gL`~-,!,

    ''Ovdk~lg`.mgzivd~gv ngyfci -, u vi~yv` --ngyfci, hWl@gh, ' hWlNi`gh5 x

  • 7/30/2019 Operator overloading | - 7

    44/46

    gy~zy~2

    -4, K~gv ( Ovdk~lg`2 ;'6-6, K~gv ( Ovdk~lg`2 >'4-6, K~gv ( Ovdk~lg`2 :'4-;, Ovdk~lg` o4 l{2 ;'6->, Ovdk~lg` o6 l{2 >'4-9, Ovdk~lg` o; l{2 :'4-?, I`~iv ovdk~lg` zcid{i2-1, Ovdk~lg` o; l{2 6:';-=, Ovdk~lg` o4 l{2 ;'6-'4-4:, K~gv ( Ovdk~lg`2 44'6-4:, o4 % o6 l{2 44'6-4:, nic2 44'6-44, K~gv ( Ovdk~lg`2 9'(6-44, o4 ( o6 l{2 9'(6

    -44, nic2 9'(6

    +l`kcyni &Ovdk~lg`.m&+l`kcyni 3lg{~vidh0

    y{l`a `dhi{zdki {~n5l`~ hdl -, u

    kg`{~ Ovdk~lg` o4-;#6,5Ovdk~lg` o6->,# o;5

    ''Zvl`~ ~mi ovdk~lg`{.kgy~33 &Ovdk~lg` o4 l{2 &33o433i`nc5kgy~33 &Ovdk~lg` o6 l{2 &33o633i`nc5kgy~33 &Ovdk~lg` o; l{2 &33o;33i`nc5

    ''L`l~ldclri ~mi ovdk~lg`{ ovgh y{iv.kgy~ 33 &I`~iv ovdk~lg` zcid{i2 &5kl` 00 o;5kgy~ 33 &Ovdk~lg` o; l{2 & 33 o; 33 i`nc5

    ''Hd~m gzivd~gv{.kgy~ 33 &Ovdk~lg` o4 l{2 & 33 o4 33 i`nc5kgy~ 33 &Ovdk~lg` o6 l{2 & 33 o6 33 i`nc5kgy~ 33 &o4 % o6 l{2 & 33 -o4 % o6, 33 i`nc5kgy~ 33 &o4 ( o6 l{2 & 33 -o4 ( o6, 33 i`nc5

    6:';

    Nl{zcd| zvgfcih$

  • 7/30/2019 Operator overloading | - 7

    45/46

    gy~zy~2

    -46, K~gv ( Ovdk~lg`2 ;'=-46, K~gv ( Ovdk~lg`2 ?'4-46, K~gv ( Ovdk~lg`2 -46, K~gv ( Ovdk~lg`2 ?;'=-46, o4 " o4 % o6 " o4 ( o4 ' o6 l{2 ?;'=-46, nic2 ?;'=-46, nic2 ;;'>-46, nic2 , K~gv ( Ovdk~lg`2 6'4-4>, K~gv ( Ovdk~lg`2 1'6-4>, o4 % 6 l{2 1'6-4>, nic2 1'6-4>, nic2 6'4

    kgy~ 33 &o4 " o4 % o6 " o4 ( o4 ' o6 l{2 &33 o4 " o4 % o6 " o4 ( o4 ' o6 33 i`nc5

    kgy~ 33 &o6 % 6 l{2 & 33 -o6 % 6, 33 i`nc5kgy~ 33 &o6 % -Ovdk~lg`,6 l{2 & 33

    -o6 % -Ovdk~lg`,6, 33 i`nc5kgy~ 33 &o4 % 6 l{2 & 33 -o4 % 6, 33 i`nc5

    Ivvgv

    o4kg`{~ -2! kg`{~,

    6 Ovdk~lg`.

  • 7/30/2019 Operator overloading | - 7

    46/46

    gy~zy~2

    -49, o6 l{2 >'4-4?, %%o6 l{2 9'4-41, K~gv ( Ovdk~lg`2 9'4-41, o6%% l{2 9'4-41, nic2 9'4-4=, o6 l{2 ?'4-45kgy~ 33 &^mi ngyfci dcyi go o> l{2 & 33 n33 d`n ~mi l`~ dcyi l{2 & 33 l 33 i`nc5

    kgy~33 &Ovdk~lg` o4 l{2 &33o433i`nc5kgy~33 &Ovdk~lg` o6 l{2 &33o633i`nc5kgy~33 &Ovdk~lg` o4U4X l{2 &33o4U4X33i`nc5o6U4X8o4U6X5kgy~33 &Ovdk~lg` o6 l{2 &33o633i`nc5

    x