五、使用缺省参数 =-%10lOI
k0@*Up3{7
在C++中函数可以使用缺省参数,例如: BN%;AQV
[Ol~}@gV
,GUOq!z
void PutHzxy?char ?str?int x=-1?int y=-1;? C3:CuoE X
? if ?x==-1? x=wherex;??? EWC{896,
if ?y==-1? y=wherey;??? uA;vW\fHr
moveto?x?y?? C8W4~~1S
PutHz?str? 9D[Jn}E:
/8Ru O
可以有两种方式调用函数PutHzxy(),例如: 0BrAgv"3a_
$_f"NE}
7'zXf)!
PutHzxy?″C++语言″;??//使用缺省参数?在当前位置输出 NbPNcjPL
PutHzxy?″C++语言″?10?10?;?//没有使用缺省参数 jz$ ]"\G#
;!(GwgllD
9/#?]LJ
通常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以在C++的代码中都大量地使用了缺省参数。 Xy]Pmt
yvIzgwN%s!
需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。 P$#{a2
]114\JE
例如: !g7lJ\B
1LVO0lT
zff<#yK1
void PutHzxy?char ?str?int x=-1?int y=-1?? //正确 QWI)Y:<K/
void PutHzxy?int x=-1?int y=-1?char ?str??//错误 s"JD,gm$
0Zh]n;S3m
六、使用模板和BIDS ~UNK[
1n!xsesSc
从Borland C++ 3.1中还引入模板(template)的功能,通过模板Borland C++实现了功能强大的BIDS(Borland International Data Structures)。使用BIDS可以不编程实现存储任何数据类型的数组、链表、堆栈、队列等数据结构。 y8j6ttQv=t
RdqB^>X
下面的例子实现了一个存储整型变量的堆栈: qV5lv-p
hxZL/_n'
0s!';g Q
typedef BI_StackAsVector intstack? mX5%6{],
main?? ;~-M$a
}4
?instack is? //定义一个整型变量的堆栈 B+2EIaI
for?int I=0?I<10?I++? Xe2Zf
is.push?I??//10个数压栈 )skz_a}]8
for?I=0?I<10?I++? BcxALRWE
cout< ? "cz'|z`
n?:%>O s$
* zt?y
通过语句is.push(),is.pop()可以对堆栈进行操作。