C 學習筆記20190703

2021-09-24 22:29:15 字數 1547 閱讀 1708

********拷貝建構函式宣告

//拷貝構造

myarray::myarray(const myarray & array)

}

***************拷貝建構函式的呼叫

//堆區建立陣列

myarray * array = new myarray(30);

//呼叫拷貝構造的兩種方法

//方法1

myarray * array2 = new myarray(*array);

1.如果想讓自定義資料型別進行+運算,那兒需要過載+運算子

2.在成員函式或者全域性函式重寫乙個+運算子的函式

3.函式名operator+(){}

4.運算子也能進行過載

//提供成員函式進行相加

person plusperson(person &p)

//把plusperson名稱改為operator+

peraon operator+(person&p)

//呼叫

p1.operator+(p2) 可以換成 p1 + p2

提供全域性函式 進行相加

person operator+(person & p1, person & p2)

operator+(p1, p2);可以換成p1+p2;

1.不要隨意亂用符號過載

2.內建資料型別的運算不可以過載

3.cout << 直接對person自定義資料型別 進行輸出

4.寫到全域性函式中ostream& operator<<(ostream &cout, person p1){}

5.如果過載時候想訪問p1的私有成員, 那麼全域性函式要做person的友元函式

ostream& operator<<(ostream &cout, person & p1)

1.自己實現int 型別,myinteger

2.內部維護部隊int 資料

3.myinteger meint

4.mtint++ 後置 ++meingt1前置

5.過載++運算子 operator++()前置 operator++(int)後置

6.前置理念 先++後返回自身, 後置理念 先儲存住原有值 內部++返回臨時資料

1.person類有showage成員函式

2.如果new出來的person物件,就要讓程式設計師自覺的去釋放delete

3.有了智慧型指標,讓智慧型指標託管這個person物件,物件的釋放就不用操心了,讓智慧型指標管理

4.為了讓智慧型指標像普通的person指標一樣使用 就要過載->和

1.系統預設給類提供賦值運算子寫法 是簡單值拷貝

2.導致如果類中有指向堆區的指標,就可能出現淺拷貝的問題

3所以要過載=運算子

1 返回陣列索引的引用

2 int & operator(int index)

3 return this->paddress[index]

C 學習筆記( )

一 語法 迴圈 foreach 型別識別符號 in 表示式 code 用法 例子int temp foreach int num in temp 每次從temp取乙個元素賦給num直至取完 console.writeline n num 每行顯示乙個元素 執行結果 c 中唯讀 只寫控制 class ...

C 學習筆記

1.函式特徵 有函式頭和函式體 接受乙個引數 返回乙個值 需要乙個原型。2.c 命名規則 在名稱中只能使用字母字元 數字和下劃線 名稱的第乙個字元不能是數字 區分大寫字母和小寫字母 不能將c 關鍵字用作名稱 以兩個下劃線或下劃線和大寫字母打頭的名稱被保留給實現 編譯器及其使用的資源 使用,以乙個下劃...

c 學習筆記

屬性 屬性開頭字母大寫 屬性可以判斷輸入的非法值 屬性本身不儲存值 依靠字段 索引器 using system using system.collections.generic using system.linq using system.text namespace b try catch exc...