五、使用缺省参数 ynx WQ%d(`
B
JU*`Tx
在C++中函数可以使用缺省参数,例如: tjt=N\;
UJ
O]sD`i
xTGP
void PutHzxy?char ?str?int x=-1?int y=-1;? !\3}R25
? if ?x==-1? x=wherex;??? $,g 3*A
if ?y==-1? y=wherey;??? A<a2TXcIE3
moveto?x?y?? MwN1]d|6
PutHz?str? jt/l,=9YK
GCZu<,
可以有两种方式调用函数PutHzxy(),例如: 2Qw)-EB
9&&kgKKGQ
>c&4_?d&,A
PutHzxy?″C++语言″;??//使用缺省参数?在当前位置输出 3LT+9ad2d
PutHzxy?″C++语言″?10?10?;?//没有使用缺省参数 Hxj'38Y
{V{0^T-
_, 11EeW@
通常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以在C++的代码中都大量地使用了缺省参数。 t%0r"bTi
C#ZmgR
需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。 AECxd[k$9
n$nne6|O
例如: Kc%tnVyGh:
AM1/\R
;a#}fX
void PutHzxy?char ?str?int x=-1?int y=-1?? //正确 %ZJ),9+
void PutHzxy?int x=-1?int y=-1?char ?str??//错误 Z5"!0B^ j
,Zf
:R
六、使用模板和BIDS >OF:"_fh
?6_"nT*}
从Borland C++ 3.1中还引入模板(template)的功能,通过模板Borland C++实现了功能强大的BIDS(Borland International Data Structures)。使用BIDS可以不编程实现存储任何数据类型的数组、链表、堆栈、队列等数据结构。 -wPuml!hZ|
:u[
oc.
下面的例子实现了一个存储整型变量的堆栈: DQL06`pX/
p,M3#^ q
7I @9v=xV
typedef BI_StackAsVector intstack? g~bf!
main?? HV#?6,U}
?instack is? //定义一个整型变量的堆栈 03i?"MvNo
for?int I=0?I<10?I++? ~(Ih~/5\^
is.push?I??//10个数压栈 5n&)q=jk=
for?I=0?I<10?I++? 0KWy?6 X
cout< ? Eg287B
1t~S3Q||>]
w>/pQ6=OFR
通过语句is.push(),is.pop()可以对堆栈进行操作。