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
;
;
;
;
;"
;#
;#