五、使用缺省参数 0IT@V5Gdj
pi@Xkw
在C++中函数可以使用缺省参数,例如: ?$z.K>S5
!r+IXuqV,!
S2C]?6cTq
void PutHzxy?char ?str?int x=-1?int y=-1;? g,]@4|
? if ?x==-1? x=wherex;??? W~ULc9
if ?y==-1? y=wherey;??? 6QZ5|T ]
moveto?x?y?? q
(+ZwaV@
PutHz?str? s?3i)Ymr
!umEyd@ "
可以有两种方式调用函数PutHzxy(),例如: m"-[".-l-
[9mL $;M
W
@!Hr|k|
PutHzxy?″C++语言″;??//使用缺省参数?在当前位置输出 }:z5t,u6
PutHzxy?″C++语言″?10?10?;?//没有使用缺省参数 h:/1X'
3d
i2J q|9,g
,>LRa
通常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以在C++的代码中都大量地使用了缺省参数。 la$%H<,7
MS<SAD>w
需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。 =l942p
d"~(T:=r
例如: E-ZRG!)[v
E1Q0k5@
b!$ }ma;B
void PutHzxy?char ?str?int x=-1?int y=-1?? //正确 kw,$NK'
void PutHzxy?int x=-1?int y=-1?char ?str??//错误 /.V0ag'G
gJ3c;
六、使用模板和BIDS 2GWDEgI1o
O\OE0 [[
从Borland C++ 3.1中还引入模板(template)的功能,通过模板Borland C++实现了功能强大的BIDS(Borland International Data Structures)。使用BIDS可以不编程实现存储任何数据类型的数组、链表、堆栈、队列等数据结构。 RbQ <