C 裡所有的注意事項

2021-04-12 18:12:36 字數 1644 閱讀 8807

1. 類成員的訪問許可權:

a. public:允許外界訪問。

b. private 不允許外界訪問,也不允許派生類訪問。

c. protected:不允許外界訪問,但允許派生類訪問。

d. internal:允許同乙個命名空間中的類訪問。

2. 在while括號後面不要加分號,因為加分號後,就表示while語句中的迴圈體代表空語句。不過有時可以將while語句的迴圈體中的語句放在while後面的括號中去,這時就可在while括號後面加上乙個分號。如例4.8中的while語句可以表示如下:

//…while(s+=i++,i<=10);

console.writeline(「1+2+3+…+10=」,s);

程式執行結果完全相同,但一般不提倡這種用法,因為它損害了程式的可讀性。

3. 如果有多重迴圈,不是跳出所有的迴圈,而是執行其後的語句。

4. 如果程式中的break語句不是包含在while,do…while,for 和foreach迴圈語句及swich選擇語句中,則在編譯程式時會出錯。

5. 在c#中,在乙個方法定義語句中,不能再包含加乙個方法的定義語句,即方法不能巢狀定義,否則就會出錯。

6. 方法的返回值也稱方法值,方法返回的不是方法本身,而是乙個值。

7. 在把引用型實參的值傳遞給形參之前,必須先對其值,這一點是引用型引數與輸出型引數的不同之處。

8. 在c#語言中,有引用型別引數與輸出型引數之分,但在。net的其他語言(如vb。net、c++託管擴充套件)中,則沒有這種分類,而是把它們統一視作引用型引數。

9. new運算子表示建立某種型別的例項,但並不表示是進行動態記憶體分配。比如:使用new運算子建立型別例項時,除了該例項所屬的變數外,並不需要額外分配記憶體空間,因而也就不會進行動態記憶體分配。這一點是c#與c++的不同之處。

10. 造函式不能被繼承,因而,任何乙個類都只能使用在該類中定義的建構函式,如果乙個類中沒有專門定義建構函式,c#會為類提供乙個預設的建構函式。

11. 在c++中有乙個this指標,它是每個物件中隱藏的指標。當乙個物件生成後,該物件的this指標就指向記憶體中儲存該物件資料的

12. 唯讀字段只能在字段的定義語句中為其賦值,或者在它所屬類的建構函式中為其賦值或修改值,而在其他任何地方都是唯讀的,不能對其值進行修改。

13. 在對類的例項字段執行初始化時,不能引用剛被建立的例項。因此,在執行欄位的初始化時,不能用簡單的變數名稱來引用類的例項成員,也不能引用this關鍵字,如下面的**所示:

using system;

class test

,」,test.x,test.y);}}

編譯該程式,系統提示出錯,出錯語句即是protested int y=x*2,出錯原因是:字段初始值設定項無法引用非靜態字段、方法或屬性test.x.

14. 儘管訪問索引指示器元素的方法與訪問陣列元素的方法相似,但是索引指示器元素不是作為變數分類的,因而不可能指索引指示器元素作為引用型或輸出型引數傳遞。

15. 在。net平台上,在類中定義乙個型別為t、形參為p的索引指示器時,如果再在該類中定義下面兩種形式的方法:

t get_item(p)

void set_item(p,t value)

此時,程式出錯。

16. 當對乙個靜態字段執行e。m這樣的成員訪問格式的訪問引用時,e必須表示是一種型別,否則程式會出錯。

C 裡所有的注意事項

c 裡所有的注意事項 1 類成員的訪問許可權 a public 允許外界訪問。b private 不允許外界訪問,也不允許派生類訪問。c protected 不允許外界訪問,但允許派生類訪問。d internal 允許同乙個命名空間中的類訪問。2 在while括號後面不要加分號,因為加分號後,就表示...

c 裡的注意事項

版權和版本的宣告 位於標頭檔案和定義檔案的開頭 版權資訊 檔名稱,識別符號,摘要 版本歷史資訊 標頭檔案為防止標頭檔案被重複引用,應當用ifndef define endif結構產生預處理塊。程式的板式 空行得體 空格得體 對齊長行拆分 注釋if判別 布林變數 if flag if flag 整 型...

C 注意事項

include using namespace std class superclass virtual superclass virtual void dosomething const protected intitsage class subclass public superclass vo...