Vous êtes sur la page 1sur 30

Y Y 

 

 
R
O Y    
     

O    !"
À Y  #     
À $ #  #   % 
O Y& 
 Y 
' Y
 Y
()
template*class
ë
+,
-
template*typename
ë
+,
Y   
  

           
          

         
           !
  " #$ %     
   "&$$''
 
"$
   $
(
^
©
 Y  
  )÷ ÷÷   *$

  "!&& &+ , - ^ &#($


  "!^, -&+ + &-($
   "   .$
  "  ^$
 /       / $
 /       / 
 & &  
. *ë
  ,
 *  /   ë
# 0 (/  1
2
 ** ( ** 3 3 **  ** 343,
5
 01
2
0 / 67 $ '8861,
09:
;/ 91,
 ,
5
type1 and type2 are replaced by the compiler
&    int and char *, and double and long,
respectively,
' Y
()
template <class T>
class 3 
efinition
};

<   T/   & &$


Y   =   / 
3 <  myObject;
() ›tack< ouble > ouble›tack;
' Y0 (1
.*(
ë * $Yë#
.*ë $*$Yë))0$Y 1
  , 2
* $Yë 0ë 1
 $ 2
2 **6$ 6**,
) 5
$012 > ,5 
?$0125, 2
# 0$Y 1, **6() 6****66,
# 01, @A > ,
#) **@A**,,
 , 88,
$Y @ A, 5
5, 5
' Y0 (1
B
* $Yë# $*$Yë))01
2
001 *> 1
2
**6   ** ,
5

2
 ,
**6   6**@A**,
5

5
- )
# 01 $*ë  ,
2 
0331,
$*ë , 
0331,

0 1, 
0331,

0 1, 
01,

0C1, 
01,

01, 
01,

01,

01,
5

7()  7()  
7() 7() 
$  $ 
   )    ) 
   )    ) 
<   <  
'  'BB
Y           

DDE
F DD E
' DD7<
'
 * ë . 6E
F6 . 6E
F6
   * ë # 01
2 *ë))01 2 5 2
)  * ë *ë  ,
01 , *ë))?01 2 5  *ë  ,
?01 , 5
5 ,
Y   


G) H  E


/       
  #
H    
  
   

O Y      #
     
 
 /
DDE
F DD7<
'
 * ë . 6E
F6
  # 01
2 2
) *ë  ,
01 ,  *ë  ,
?01 , 5
5 ,
 * ë *ë))01 2 5
 * ë *ë))?01 2 5
 BBBB
O Y     # 
      

       
 *ë,   )

DDE
F DD E
' DD7<
'
 * ë . 6E
F6 . 6E
F6
   * ë # 01
2 *ë))01 2 5 2
)  * ë *ë  ,
01 , *ë))?01 2 5  *ë  ,
?01 ,  *ë, 5
5 ,
Y0 Y 1
O Y  Y  0Y31     '88 
  #      
   $  01/   01/ ( 
0#1/      01/ 

O Y           


     

O     /      


   

O   Y       /  &  
À  ( #    & 6))/

Îinclu e <vector>
st vector<int> myIntVector;
À   6  ,6      

Îinclu e <vector>
using namespace st ;
vector<int> myIntVector;
 R
O Y    0Y1 
À '
À 
À 7
') r 
   &     !  / 
(    

p     
) „  
   Y      
    
p       /    
    
  
 
7) I!  /  #  =   

)          (    
O      &
=   

7


7


7
7


' Y
O Y Y # #  $ 

À *#ë )   
À *ë )  $ 
À *Jë )   J
À *Jë ) J
À *$ë ) $
À *ë ) 
À *ë ) # 
' '
OJ '
-!   =/   

À ) #/ J/ 
O  # '
#  #  =    
 $
À ) / / / 
O 
7   &     
 

À Y = ) $/ J/  J



O  #   J      /
    #     / 
    #       
 

O Y      #  # , 
  

O       Y  /   
   

O Îinclude <vector>
 'B

›yntax) #* &ë


 ( ) #*ë #  

#*ë #  

#* Kë #    

#*''Kë #   


'' =

Construction:  #   !   
! 
      #
#*Rë # 0 1, DD  #  ! /
DD J   
(
void example()
{
const int n›ize = 10;
vector<int> vecEgs(n›ize );
// initialize vec.
vecEgs[0] = 1;
int nEgArr [n›ize ];
for ( int nCount = 0; nCount <
n›ize;
nCount ++ )
nEgArr[nCount ] =
vecEgs[nCount ];
}
(
vector<string> svec;
we insert elements, rather than index and assign.
string word;
cin >> word;
svec.push_back(word);//ok

if (svec.at(3) == ‰aaa ) //error..exception


string strNew = svec[3]; //error..exception
7
#*ë # 
+$
# 
+$0 1,DD  
7
# 
0# 
01 / 1 , DD 
 
# 
0// 1 DD  
  
Y  J 
 0 ' > ,' *  ,88 '1
# 
0/ 1
R
O L    
# 
 01
¦asic operations +$ L #
  
  
O 7   $   #  

O Y #  &/  / 
  & 

O 7  (#   0 1   
    #     
#    0 1 
  #/  #  
   
O 7         
   
O M     %   
 

O V  
   
 
  





  
  

 
  

(
O .*(

O .*ë
O .*ë
O .*ë
O   ,
O # 01
O 2
O *ë ,
O 
+$0 1,
O 
+$0 1,
O 
+091,
O *ë)) ,
O 0>
01,N>
01,881
O 2
O **K**,
O 5
O 5
RJ
O #     J 
#  &  
     
  
(
O .*(

O .*ë
O .*Jë
O .*ë
O   ,
O # 01
O 2
O J*ë ,
O 
+$0 1,
O 
+$0 1,
O 
+091,
O 
+01,
O J*ë)) ,
O 0>
01,N>
01,881
O 2
O **K**,
O 5
O 5
×    


            
        
    
 
 
 
    


      ×  × 


×