第七章第8節(jié)函數(shù)的重載------外文資料翻譯.doc
約8頁DOC格式手機打開展開
第七章第8節(jié)函數(shù)的重載------外文資料翻譯,第七章第8節(jié)函數(shù)的重載7.8.1重載與作用域我們在這本書第54頁的程序中,見到了c++作用域的嵌套。對一個函數(shù)而言局部聲明的名字將屏蔽在全局作用域的相同名字。(2.3節(jié)第54頁)這樣的情況在對函數(shù)而言就像對變量一樣是成立的。/* program for illustration purposes only:* it i...
內容介紹
此文檔由會員 wanli1988go 發(fā)布
第七章第8節(jié)函數(shù)的重載
7.8.1 重載與作用域
我們在這本書第54頁的程序中,見到了C++作用域的嵌套。對一個函數(shù)而言局部聲明的名字將屏蔽在全局作用域的相同名字。(2.3節(jié)第54頁)這樣的情況在對函數(shù)而言就像對變量一樣是成立的。
/* Program for illustration purposes only:
* It is bad style for a function to define a local variable
* With the same name as a global name it wants to use
*/
String init( );//init is local and hides global init
Void fcn( )
{
int init =0;
string s=init( )
}
一般的作用域規(guī)則同樣適用于函數(shù)明的重載。如果我們局部的聲明一個函數(shù),那么這個函數(shù)將屏蔽而不是重載在外層作用域中聲明的同名函數(shù)。由此推斷每一個版本的重載函數(shù)都應該在同一個作用域中聲明。
一般說來,局部聲明一個函數(shù),并不時一種好的選擇。函數(shù)的聲明應該放在函數(shù)的開始。為了解釋作用域和重載的相互作用,我們將違反這樣的原則使用局部函數(shù)聲明。
作為一個例子考慮下面的程序:
7.8.1 重載與作用域
我們在這本書第54頁的程序中,見到了C++作用域的嵌套。對一個函數(shù)而言局部聲明的名字將屏蔽在全局作用域的相同名字。(2.3節(jié)第54頁)這樣的情況在對函數(shù)而言就像對變量一樣是成立的。
/* Program for illustration purposes only:
* It is bad style for a function to define a local variable
* With the same name as a global name it wants to use
*/
String init( );//init is local and hides global init
Void fcn( )
{
int init =0;
string s=init( )
}
一般的作用域規(guī)則同樣適用于函數(shù)明的重載。如果我們局部的聲明一個函數(shù),那么這個函數(shù)將屏蔽而不是重載在外層作用域中聲明的同名函數(shù)。由此推斷每一個版本的重載函數(shù)都應該在同一個作用域中聲明。
一般說來,局部聲明一個函數(shù),并不時一種好的選擇。函數(shù)的聲明應該放在函數(shù)的開始。為了解釋作用域和重載的相互作用,我們將違反這樣的原則使用局部函數(shù)聲明。
作為一個例子考慮下面的程序: