五、使用缺省参数 ;v$4$D]L
gmm|A9+tv
在C++中函数可以使用缺省参数,例如: zSFDUZ]A3
kSDZZx
]Oif|k`{
void PutHzxy?char ?str?int x=-1?int y=-1;? =J ym%m
? if ?x==-1? x=wherex;??? q#8 [
if ?y==-1? y=wherey;??? n-%s8aaVf
moveto?x?y?? o";Z$tAJkC
PutHz?str? >hr{JJe
WH= EPOR,
可以有两种方式调用函数PutHzxy(),例如: u&n'
ITH
uh?>-
]r`
BN4_:
PutHzxy?″C++语言″;??//使用缺省参数?在当前位置输出 l'3pQ;
PutHzxy?″C++语言″?10?10?;?//没有使用缺省参数 zA1lca0HK
-*XCxU'
nI*v820,
通常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以在C++的代码中都大量地使用了缺省参数。 rW0FA
'UYR5Y>
需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。 kbMYMx.[
Oj^,m.R
例如: Q_Gi]M9
IqD_GL)Ms
M-giR:,
void PutHzxy?char ?str?int x=-1?int y=-1?? //正确 AqV7\gdOC
void PutHzxy?int x=-1?int y=-1?char ?str??//错误 pi
,eIm
X3V'Cy/sy
六、使用模板和BIDS fF V!)Zj
1Y]TA3:
从Borland C++ 3.1中还引入模板(template)的功能,通过模板Borland C++实现了功能强大的BIDS(Borland International Data Structures)。使用BIDS可以不编程实现存储任何数据类型的数组、链表、堆栈、队列等数据结构。 J52
o
g4l
0gfA#|'
下面的例子实现了一个存储整型变量的堆栈: -]t,E,(!
B}&x