二、关键字和变量: W* Y8 `# [) U8 \# c% L4 X, g
C++相对与C增加了一些关键字,如下:
3 {- ]9 ]. h8 W: c: s typename bool dynamic_cast mutable namespace
" R) k; ~+ e. q: V" m static_cast using catch explicit new
- x; x8 s( Z, s# h+ @' N! ? virtual operator false private template
6 b! {, v; M+ S+ m0 @2 m0 q volatile const protected this wchar_t
- `. r0 Y# }' C9 Z+ u; p) ^6 n const_cast public throw friend true1 T# \2 Z; U- u& t* q/ `
reinterpret_cast try
4 s" g5 u. w/ R% E! l bitor xor_e and_eq compl or_eq
1 Y: g0 w3 T( g7 f0 C' `/ ~' M not_eq bitand/ E4 n- k1 T [) v* ^4 s
在C++中还增加了bool型变量和wchar_t型变量:9 L! z/ S5 y; \ \6 n
布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。
$ I# |$ |" M$ S: P- O #include iostream.h
0 I# _3 O6 R+ ` int main()0 ?. f8 ]' Q, g' D9 s: `$ S' W
{
. k2 \0 U& h" S2 _/ L bool flag;, f* v; E. ~+ E
flag=true;
4 Z# R6 P# X3 v1 e/ o if(flag) cout< return 0;8 d3 B( l, G0 k: R( ^. {, y
}1 B1 j/ K L- z9 x" K
C++中还包括wchar_t数据类型,wchar_t也是字符类型,但是是那些宽度超过8位的数据类型。许多外文字符集所含的数目超过256个,char字符类型无法完全囊括。wchar_t数据类型一般为16位。
4 ?8 o! s! |/ R7 m& b1 l3 t0 N6 n& Y7 G 标准C++的iostream类库中包括了可以支持宽字符的类和对象。用wout替代cout即可。$ }6 r4 p0 e* ^! e k# y7 I z
#include iostream.h
( l7 K( p' V& i6 e8 L, ~4 | int main()# Q. t- e7 ?; [+ O L7 c
{
* g7 S, |. W6 D+ i+ s. o1 x wchar_t wc;* E) O' ^+ ]2 J. A
wc='b';
& w1 c+ V% p v0 h* K wout< wc='y'; E0 E. i7 o. n8 |& H
wout< wc='e';9 W8 l1 _( t. n( H- c5 y
wout< return 0;
/ M: o6 l7 \# ^: ^, R3 Z4 c" W }
4 ?& \" \4 o5 ?3 o$ W 说明一下:某些编译器无法编译该程序(不支持该数据类型)。 |