appunti sul C++
Transcript
appunti sul C++
! " # $ % & ' ( ) * + , - - . - / Æ . 0 1 1 2 . % 2 & 3 + % & 4 5 6 " 6 3 7 8 !! "# !! $$ %% !! "# !! 9 !" 6 - - " # % & 0 " 5 - %: & 9 - %$& ; - < % & 6= - 66 1 - 4 > - % & & " > - + & " "' " > . - ( "' % & " % . & ! " ; & " ! - $ > - - Æ " "' " - & "( # > - > - - ? & ) ) * + ) - - - ** * ) - - ) - @ ) 1 ( "( # " $ % & '&( < ) ) ) +(,-. ) +(,-. !! $$/ %% ) !! $$/ 0%% ) ) +(,-. !! !! ) +(,-. - % )&A > % 5 ;"& Æ 3 Æ A B # 1 ) - ? 1 ) $ %& ' ()* C ) ) 2 312 . ) ) $ * + , 6= C ) = 6 A A > . 456 4768 . 46 9 : 7 ; 55 5: 5; 456 ! 5 46 9 5 ! D - D !! !! E . $ 046 0 456 0 0 < 456 . % 6 6= 6& + - . 66 046 0 + 0456 05 046 0"5 !! ! ? 04964:6 % & F 3 046436 B > 046436 %046& 436 0 ? ! . 0 D 0496496 ==6GG9= ==6GG9# ==6GG9; ==6GG91 0 046 0456 496 04646 046456 045646 0456456 496496 496 3 - @ - , 6 + % < 1 ) % 6 " #& 1 1 - < @ 0 0 0 < 456 ? - ) $ 0 0 ) $ Æ % & 3 3 6 , D & % ? " 9;& H '/ . =-'' ) 6 . =-'' 6" ! "# -+ =-'' - % 6& % " 5& 3 ## < 7 8 < ? - A . - A A A A 1 + - % 6 < <& ? 456 =-''. =-'' I + % - & 13 3 / , 6# 456 % & !" - > <"" > > #" . !-, . 3 - @ B 3 1 - 6= ? 456 3 ** % 0 > - , A 60 - 0 # / 1 2 / 1 / 1 2 3 4 60 65 Æ 1. . - ? - ? 1 .<@1 3 1 .<@1 ? 1 - ! ? 1 ** ) +(,-. !! $$ %% !! ) ? < ? "#1 1 "#.<@1 1 "#3 "# < 416 $ !! ! 69 1 1 ) !+ - . 1 D . ? 1 1 . $ + % & ? /- ) $ 0 ? ** ) +(,-. !! $$ %% !! ) 46"# D ) $ !- > @ I Æ ? - $ * * 6; 3 > "# 0 ? ** ) +(,-. !! $$ %% !! ) "#1 ** 0 < 4"#16 ** 0 1 3 3 ! "#3 3 436 "#436 46"# ** "# ** 0- > 3 J 0 ? 3 ** 0 0 3 ) +(,-. !! $$ %% !! ) "#1 "#3 ** 0 A "#.<@1 "#4"#36 3 "#3 5 ! 6< 1- > . A ? ** % 0 ) +(,-. !! $$ %% !! ) "#3# "#4"""#36 D + . $ %! 1 A B &B;B B C $3#% > A !- ! ! 66 , = @ . + @ # - > D 0 @? ** !! $$%% !! !! $$1 %% !! "#1 !! !! $$.<@1 %% !! "#.<@1 !! !! $$3 %% !! "#3 !! 3 3 ! "#3 3 !! $$4$$!!"#436 !!%%6%% !! !! $$%% !! $ ! K @ D K ? 7 ? < - - + , " # 6 ? ? ** ) +(,-. !! $$ %% !! ) ? "#1 * 0 * "#.<@1 "#.<@1 3 3 ! "#3 3 "#436 "#436 "#3 "#3 D .<@1 + - + + 2- - ) C@@(D2 ) C@@(D2 ) !# ) ) EF@2D(CG ) EF@2D(CG ) !# ) ** @2D-22-D( +C2E ? 1 3 .<@1 ** H-=IEF=E ? @1 0 ? 0 ? 0 ? 3 ? 0 @? ? ? ? - ? - - > + . - . & . - % & & - & + K + + @ - 3 . K + & & D + . L - A A - G - - - !- $ ! % " - - & - J0 ! . 3 3 - ? - A - + ! - A + - A - ! - ? ?BB ** 1 - L $ % & E # > - D I K - ? ? ? > > D . > ? ? @ . - . D - . - < > 1 A 3 A 781. 7 8 19 . 66 $ ! 0 3 - % & ? $ > ! J ! I & % BBB& ?BB? @1 1 @1 .<@1 @1 3 < 4@16 - % & D ! - ? < ?5 ** 1 ? 5 ** 1 L 1 ? ** 1 ? < ?: "# ** 1 ? 5 D - I " BB > ?BB? @1 5 . - L ? 5 - $ A > ) $ . -. > ) $ ?BB? ** ) +(,-. !! $$ %% !! ) 46 ** =F= /C ? < ?5 ** . + ) $ < @ % & ? - . ' $$ & 9 ! 4 5 6 ? - E - > . ? - . ! ?BB? ** @1 5 "#1 @1 "#.<@1 @1 "#3 "# < 4@16 ? % & - ? < ?5 ? < ? ? < ? C - . - . % , % ; > . > $ J > + > #" . ? , ? . % & % 65 500"0& > + ! D - - ?BB? @1 5 - . . " . D - : - < B ( , ? ? 4""36 I K 1 BB 4 > 0B % BBB& - 0 K 3 3 K : ; "= -- ? 1 3 E - A - - ? 0B 1 .<@1 3 0 B ? @1 ? L? 0 ? 0 3 0 @ ? 0B 1 .<@1 3 0 B ? @1 ? L? 0 ? 0 3 0 @ 7 - -- - ? ? E - ! E K + K + /$ + K I B D ( % & - ? - ( . Æ - !- ? A "6 ' " ? % & - % & -8 , 1 - . ? > $A A ? 1 < ? > A A E $ <A 78 + 7 8A - + $ 7 . L J - ? ? ** 0 1 ) +(,-. !! $$ %% !! ) '' $ ! "" ? "#1 * 0 * "#.<@1 "#.<@1 3 3 ! "#3 3 "#436 "#436 "#3 "#3 4 - && ! L ? ?BB ** 0 ) +(,-. !! $$ %% !! ) ? < ?1 * 0 * "#.<@1 .<@1 3 3 ! 3 3 "#436 436 "#3 3 ** 1 0A 0 ? ? G % &A A - ? 78A . D . ' "# && $ 4 + ? ? ** 0 ) +(,-. !! $$ %% !! ) ? 1 * 0 * "#.<@1 .<@1 3 3 ! 3 3 "#436 436 "#3 3 1 K H 78A 4 .- & ' $ ! 0 1 1 : 3 9 3 $ $ " ) 6== 6=# 6== 1 E ' $ & "0 ' !! 0 1 1 : 3 9 3 : $ $ *++ , 6== 6=# 6== D - > && ! ' $ 0 1 1 : 3 9 3 ? - BB D 3 2 $ $ , 6== *++ 6== ' "5 H - + ! !& - 1 0 ? !! $$%% @ ? <7 ** > A MM <5 !! $$<%% <@ < <@ < 7 8 ? , + < - % & > D % & ? ' "9 ?BB?? ) +(,-. !! $$ %%!! ) 1M1 < 416 11 .<@1.<@1 !3 46 46 3 3 ? - ? . 0 + E 1 D ) . 1 A ? A . 78 D + ) ) @ < ) - "; ' &( )#* + ) + ) - ' E & % & ( ) A 4 D . . D - // & G ?) H D - . % & - - - & - - - - - , '( "< &= &=BB¾&= ¾ - ¾ ¾ > A & &, " -". 1 ? ? ) . ) 1 ? ?BB? 1 1 .<@1 .<@1 3 3 > > - - 3 I K J - < = > ? << ' #= > - ? ? ?BB? 11 .<@1.<@1 46 < 416 !3 46 46 3 3 > ) - ? ? 46 + . - ) $A . 3 - . 1M1 46 < 416 1 1 '( #6 % & Æ B ! Æ + A Æ L E @ I @ E &, " 3 ! K ? + , ? % 3 46 & ?BB>? ) +(,-. !!N >N!! ) 1M1 3M3 .<@1M.<@1 ' # 33!33 436M436 ?BB? > D > > . - ? ? . - 3 - - &,& " 4 ? !! - !! + > ? I ? !! ? ) +(,-. !! $$ %% !! ) !! $$%% !! !! $$1 %% !! 1 !! !! $$.<@1 %% !! .<@1 !! , '( #" !! $$3 %% !! 3 !! 3 3 ! 3 3 !! $$4$$!!436 !!%%6%% !! !! $$%% !! ? + . > % !! !! & . % & - . > + - - D ? ? > + - 7 8 > - BB I K A A A A , % 9 ' ## / 0 ! 1 "2 &, D - , . @ D - 1 . Æ @ E ? ** ; ? ** ? ** ** 0 M ** 0 !! $$MM%% !! > . L + E ! D - - - M !- - 2- 3 6 1 ? 3 ? 1 3 1 % - 1 & J ) > + , * " ' # % ? 1 3 #0 ? 1 1 3 1 ? 1496 > " ) %65 & % & A A A A D ? 1496: > " 1 ? 146 > #/0#10 ? 1 D - + 1 < ?496 # 1 ? 146 1 < ?4:6 1 461 - ?A " #; ) A #5 ' #; ) J ) $ B #; ) % " & ! + ) $ # -- - 1 - @ - & )!# @ 0B ** 0 1 ** 01 0 < 0 < ** 1 @ @ @@ L@ @ @ @ !! @ ** 0 @ @ @ @ @ @BB>@ ' #9 ? - A - @ A - J @ 1456 <456 1 < A - A . 4 . + &3 ! !! ! !! 1 . @BB@ < 456 / @BB@ < 4 56 ' #; + ) @BB@@ < 4 56 Æ @BBL@ 46 &3 " + - @BB@ @ 46 < 4 56 ? @BB@ 46 < 4 56 #" @ $$ %% + ) ' &3& #< " $ !! @ !! " B @ @BB>@ M &3 " > @BB@ @ < 456 5 5 < @ A A A A - I + A ) $ , + ' 0= @BB@ @ < 456 5 5 @ < @ A ) $A G K % " ; 0& J @BB@ @ < < D + @BB@ @ < < @ / + + ' 06 4 @ @ @ < 0 <0 > B A - - 3 B I ! &3( ! "! ! K . > ) $ F M M M ½ F M M ¾ F M F ¿ 1 K L - @ 0B 0 ' D A E ) $ @BB@ @ < 456 5 5 @ < @ "# "# 5 9 I + ? @BB@ @ 46 < 4 56 1J . : ? ! / > @BB , ' 0" + 0# ' ? E , > - A - -9 3 - - ) ) 2E?F ? 1 .<@1 3 2E?F 0 B ? @1 ?? ? ?BB? L? 0 2E?F 3 2E?F >? ? !! ? 00 05 > , - % -& -9 / , - 1 - & - ! 2E?F# ? 2E?F 1 3 .<@1 0 B ? ? @1 0 111@1 L? 0 2E?F 3 2E?F 0 @ ?? ?BB? ? ?BB ? !! ? - E %& H/ % . & - . ? !# ? !# 5 ? !# 4:6 / % @ = % = / ' ! 09 , 0 . - . A - . D ) ? ? @157 1@1 .<@1@1 3 < 2E?F4@16 . E ) 2E?F + ) D E - ? % ?BB?& - ! 2E?F# ?!2E?F#BB? @1 1@1 .<@1@1 3 < 2E?F4@16 3 - 2E?F 6 - 2E?F A - - 2E?F 0; C ?! ! 2E?F# ?! 2E?F#BBL? ! 2# 0 ?!2#BB ! 2# 0 ?! 2 #BB2 3 ! 2 # 2 ?! 2 #BB ! K # ?! K #BB??! K # ! K # ?! K # K #BB ?! K # D J #" " % - @ K ? !# . # $%&'((' )#&&'# % & @ - 2- : - ? - I % )**& J 4; <- 4; 4 3 + . - + E % & % & > A 0" ** &'C@@( ?C+D( ? B 0 0 ** &'C@@( HE.'EC & < ?&B? B & 0 & A 0< ) 5= - &HB&? D - ? ?& 3 3 : 3 7 3 ** 1 309 ; ** 3 !! 3 !! $$ %% !! 3 !! $$ %% !! 3 !! . > . - - B - 0 A - A @ % 0 "& 3?BB09 ; !- - - - ?& 3 ' 56 ? ?& ?& ? + A 3 A , ? C 0 ,B C 0 C 0C 0C , 0, 0, 0,: . - 0 - ) 5 , - 0 0,CBB - 1: - 1 L. 3 Æ FO . @ K E< - & . - FO =& B FO I > BB = = 3I , - . . @ 3 / J . 4 L @ A / + ! 5" 4 ? I ? 3I - 3 > - 71 8 ? C + @ C + 1 - - . ! - 0 6 % & & & Componente Sezione Contenitore G 0 6 3I (( 4 - - 0 D + A % &A % !! "B ) 5# 8x8 Scacchiera Casella sta su 1 occupata da 0:1 Pezzo Re Regina Torre Alfiere Cavallo Pedone Pedina G 0 3I I ?11 ? ? > ) & . ? 3 < ?& 3"#0: 9 0 - I . 3 ? > - . / * 50 3 ) ? 3 < ?& 3 % - & ) $ - . 0 . . ?& # " ) . D =- >- ) ? 3 < ?& > - D 3"# + 3 ? D ?& < < ? > B > # 2 > 7. 8 % & ) 55 A 0 3 0 0 0 > . % - BB& ? - ?11 G " % & . D - 0 0 , A 0 . / - - % 6# 9& # !-- . E - . D A 59 " C - - C 3 C C5 ,B C C % &A A - 3 @ ? & $ & - ? . @ L . - @ - . ( + . L Æ . - / ( C ! D "D ) 5; @ C 5 , 5 ( ? H &B H PB H C H . ( 4 ? D P C > D ? & H ** - & =-'' C =-'' Q!& # ** Q!C # ** !! B ( 5< ? & H ** - & =-'' C =-'' Q!& # Q!C # 1 2 %H% < 0 + > % & 7 8 3 . 3 ?11 . , ! ?11 ?11++ ?11+@ ) ? + - 6 , ) 9= + 0, ? 3 % & H 4 $ 4 ? H + - GH - H - ? % & % $ & 1 C5 B C5 !! $$ C5%% !! 0 5 !! $$5 C5%% !! 0 9 !! $$9 C5%% !! C9 B C9 !! $$ C9%% !! 0 5 !! $$5 C9%% !! 0 9 !! $$9 C9%% !! C:B C5 C9 ** M D - - ? C5 5 < C5 5 "# 5 ** 5 C9 9 < C9 9 "# 9 ** 9 C: : < C: : "# 5 ** 5 : "# 9 ** 9 C5 C9 C5 C5 " 96 1 A A - 9 C9 7BB8 :C9BB9 1 C B C !! $$ C%% !! 0 !! $$ C%% !! ,B C B , !! $$ ,%% !! 0 !! $$ ,%% !! & B & !! $$ &%% !! 0 !! $$ &%% !! , ** , CBB ** C &BB ** MMM + & L . ) 9 A - A . ? ? H #" > &BB $' ' $#.# $' & 1 - 0 " @ C 0 C5B C9B C:B !! $$%% !! C C C5 C9 C: + C - C5 C9 C: ? 0 C C5B 0 C C9B 0 C #" C E. 78 D E 7- C8 - C: 0 C B , 6 & 6 " 9" A A1 A2 A3 G 0 " @ / C - 0 # C: : < C: : "# 5: : "# 9R !! : "# C9BB !! !! : "# C5BB !! A A A1 A2 A3 senza virtual A A1 A2 A3 con virtual G 0 # @ @ E > 0 " C 1 - ) 9# (5 ! ! !! I ) K C C CC C 5 ** C ** !! $$ C%% !! !! $$ C%% !! C CC B - 0 " C 1 ) C: I D ) - ) B > - / 3 ! & I ) - & ) - ) ) - A A ) - ) + ) ) ) - K , * * 90 , BC ,, BC > - > / D N 1. - K - + 3I % - 0 0& C , C - + I K - . + - C , C 0 K 3 K3 K , . - 7 8 "#" ! ! $%#$ ) 95 I K ,K ? > Veicolo Automobile Inheritance Veicolo Automobile Delegation G 0 0 @ % 0 > - H. @ ST ? % %-- @ # I # T B %+ & A A I @ 99 9; % ,: - 2- 3 & % 6 0 0& ? - A E ) $ ? + % ? K . ? # ; ? % & & . % ( ,( &A & A &A A A A % E , , 0 , % 4( 9< 6! 0 / . . . 3 - A A 6 - >A " > - A " > > - A % > & # - A 0 - A 5 - A 9 - A ; - A < - %)$$%%&A 6= - & " "' " 78 ) / - ; + 34 '( ',( ' ( * % , ;= % ? - 1 - C , - - 1 - A - A - - , C A - - . ) ) CQU ) CQU ) $$%% ) < %-- E E 6= E 6= A E < ! 3 6 9 9 > > < , 13A A - E ;6 ; A > < >, / . 3DO 7.8 PD!/P 7'8 ( ( " < ! ! - 00 C@&EE A & > % #= 6; J + Q Q Q R S C@&EE -=E&F+( - 65 - 6 F 500"0 7( 6 !/ C@&EE 50 <9 +K + " %5& + 7( !! 84 9 7 8 ' C@&EE 6"A #4 ( C@&EE 6= + / ( ;" PD!/P A 3DO DA I?1 1L > - !! 5 J < / 3 - ( @ % & !! $$@ 0 >%% !! @ @ E ? 3 1 !! !! 1 3 * 5 $$@ >%% $$@ >%% . 3 $ J 1 . 7 8 E 1 7? 8 > B E > B " '/ & & . + E E . , ;# < .> G ( G ( ? * 3DO A ( ! B 1 ( > + % - & - ? - <# 7 8 > & 71 8 %& 7 8 % & C@&EE - 7?T8 06 0 0" 0# 00 3I 3I @ @ @ 5" 5# 9" 9" 95 ;0 ;5 $ * ' & 6 6 6 G 6 6 G 6 " I 6 # 6 # 6 D@@! H/ TD/P 6 # 6 0 H 6 5 6 9 1 6 9 6 1 6 9 6 ; 1 6 < ? ) % 4B& 6 < 6 4 6 < 4 6 6= ? 6 66 6 66 6 / ) 4 6 " # 0 5 9 ; < 6= 66 6 6" 6# 60 1 1 ! 1 @ 9 6 1 1 K / H E .H 4 ;9 , " " " # # # # 0 0 9 9 ; < < 6= 66 6 6 6" *5 60 60 65 69 69 6; 6< 6< = = 6 " # 5 9 < ;; 65 "= , 6 ,* 7 / 55 5 0 58 " 6 L " $ " " L " " 6 4 " " 4 " # " # 6 " # " # " " 0 1) " 0 6 ( ) 4 ) " 5 / " 5 6 / % & " 5 / " 5 " / !! K "5# @ " 9 1 K " ; " ; 6 1 ! " ; " ; " !! > " ; # " ; 0 # 6 ) # # " # # ? #0 06 0 0" 0# 00 05 09 0; 0< 0 6= /N /N / 1 I @ 3 3I 0 0 6 ? ) 3 ( 1 ) 0 < 6 0 < I 0 6= 6 D "6 " " "" "# "# "# "0 "0 "5 "; "; "< #6 # ## ## #5 #9 #; #< #< 06 00 05 09 0; 0; 0< 5= 56 5 5 5" 5# 50 55 59 5; 5< 9= 9# 0 66 ! ;< 90 2 & 99 : ;* ? K ? 0 6 3 ? 5 D ?6 ? ?" ?# ?0 6 " # 0 ? 1 K ( 1 0 6 3 0 1 7? 8 5 ! 9 ( ; 99 99 9; 9; 9; 9< ;= ;6 ;6 ;6 ; ; ; ; ;" ;# ;#