在同一个函数中不能拥有两个相同名称的局部变量,这个规则也适用于形参变量。形参变量本质上是局部变量,所以,不能在同一个函数中给出同名的形参变量和局部变量。
但是,可以使用与全局变量或常量相同名称的形参或局部变量。执行此操作时,形参或局部变量的名称会屏蔽全局变量或常量的名称,这意味着全局变量或常量的名称被形参或局部变量的名称隐藏,所以,在该程序的这一部分中,全局变量或常量不能被看到或使用。
下面的程序说明了这一点,它有一个名为 BIRDS 的全局常量被设置为 500,而在 California 函数中有一个名为 BIRDS 的局部常量则被设置为 10000。
程序输出结果:
In main there are 500 birds.
In California there are 10000 birds.
当程序在 main 函数中执行时,设置为 500 的全局常量 BIRDS 是可见的。第 9 行中的 cout 语句显示“In main there are 500 birds.”,然而,当程序在 California 函数中执行时,局部常量 BIRDS 会屏蔽全局常量 BIRDS,所以当 California 函数访问 BIRDS 时,它访问的是局部常量,这就是为什么第 17 行的 cout 语句会显示“In California there are 10000 birds.”。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!