C 基礎知識總結與回顧 5 5共享資料的保護

2021-06-29 04:47:09 字數 963 閱讀 7353

5.5.1 常物件

func1(const point & p1)和func2(point & p1)這兩種函式引數寫法的區別在**?

答 : fun1保證實參在函式呼叫後不會被改變, 如果函式體內試圖改變p1,編譯器會報錯.

對func1(const point & p1)呼叫時,實參用常物件做引數和普通物件都可以嗎?

答: 都可以

常物件不能訪問非常成員函式,在func1中,p1是否能像普通物件一樣訪問各類非常成員函式?

答: 正常情況不能. 但可以用const_cast強制轉換, 盡量不要用.

對func(point & p1)呼叫時只能用普通物件做實參?

答: 是的.

重寫一般是指父類和子類之間,子類重寫了父類的乙個方法,當然方法名是一樣的,而且不能改變父類方法的返回值,比如說父類是返回string,子類重寫了這個方法,想返回乙個int,那是不行的,也得返回string。

過載是乙個類裡面,寫了多了同名的方法,各個方法的返回值型別可以不一樣。要注意區分過載方法可以通過引數列表的個數,型別和順序。但是不推薦用順序來進行過載,這會讓**可讀性極差。

1、過載:

同名而已,方法名相同,引數列表不同

2、重寫:

也叫覆蓋,指在子類中定義乙個與父類中方法同名同引數列表的方法。因為子類會繼承父類的方法,而重寫就是將從父類繼承過來的方法重新定義一次,重新填寫方法中的**。

7、const指標

const int * pone;//pone是指向整型常量的指標,不能修改指向的值(常量指標:指向常量的指標)

int * const ptwo ;//ptwo是指向整型的常量指標,不能修改指標的指向。(常指標:不能修改

指向的指標

)const int * const pthree; //pthree是乙個指向整型常量的常量指標。

C 基礎知識回顧總結

為何需要在c 檔案中寫這段 下面我們將講一下緣由 首先說一下命名空間的意義 命名空間是用來組織和重用 的編譯單元。namespace 名字空間 是為了解決命名衝突的問題而引入的概念。通過使用 namespace 就是 使用的範圍 你所使用的庫函式或變數就是在該名字空間中定義的,這樣一來就不會引起不必...

c 基礎知識回顧

1.資料型別和類。所有程式設計都是處理輸入和輸出。關於輸入引數,從右至左把引數入棧,這樣根據棧基址,可以定位第乙個引數。因為很多函式是引數數量不定的,比如printf.關於輸出,記得輸出時,一般是把值放入eax 暫存器,所以一般資料型別,直接放入返回值資料,暫存器可以裝下,而返回物件,會返回物件的指...

C語言基礎知識回顧

逗號運算 scanf和printf輸入 輸出 迴圈 switch break和continue的區別 主函式是乙個程式的入口,整個程式開始執行的位置,乙個程式中最多只能有乙個主函式,也可以沒有。int main void 運算子 含義語法 返回值 與a b ab都真,則真 其他為假 或 a b ab...