********拷貝建構函式宣告
//拷貝構造
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...