五、使用缺省参数 :N4?W}r.
Io7=Mc4
在C++中函数可以使用缺省参数,例如: RL"hAUs_1
@G>&Gu;5
90Z4saSUw
void PutHzxy?char ?str?int x=-1?int y=-1;? y8di-d3_
? if ?x==-1? x=wherex;??? ]4_)WUS.c
if ?y==-1? y=wherey;??? ]A_A4=[w
moveto?x?y?? mL s>RR#b
PutHz?str? 3SF J8
fdKTj
=4
可以有两种方式调用函数PutHzxy(),例如: ot^$/(W
f5CnJhE|)
<oTNo>U/k
PutHzxy?″C++语言″;??//使用缺省参数?在当前位置输出 U4y ?z
PutHzxy?″C++语言″?10?10?;?//没有使用缺省参数 bXWodOSN
3)dtl!VMW[
2ZMVYa2%(
通常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以在C++的代码中都大量地使用了缺省参数。 u|ru$cIo
`=W#owAF
需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。 [k,FJ5X
d6e]aO=g
例如: v kW2&
2s`~<EF N
d[e;Fj!
void PutHzxy?char ?str?int x=-1?int y=-1?? //正确 7lQ:}&
void PutHzxy?int x=-1?int y=-1?char ?str??//错误 Zdu8axK:
Bnd Y\
六、使用模板和BIDS Wl>$<D4mO[
9>L{K
从Borland C++ 3.1中还引入模板(template)的功能,通过模板Borland C++实现了功能强大的BIDS(Borland International Data Structures)。使用BIDS可以不编程实现存储任何数据类型的数组、链表、堆栈、队列等数据结构。 KSl@V>!_
\v.YP19
下面的例子实现了一个存储整型变量的堆栈: .t%`"C
<:0d%YB)
==W] 1@s
typedef BI_StackAsVector intstack? [iG4qI
main?? URxy*)
?instack is? //定义一个整型变量的堆栈 Z7?-c
for?int I=0?I<10?I++? G c:oSvm
is.push?I??//10个数压栈 &G!2T!xx
for?I=0?I<10?I++? ].*I Z
cout< ? ! lm0zR
^: V6=
ca!x{,Cvnj
通过语句is.push(),is.pop()可以对堆栈进行操作。