C 建構函式和陣列

2021-10-09 19:41:17 字數 958 閱讀 1216

//   建構函式和陣列

#include

using namespace std;

/*是乙個語句*/

class ctest

//建構函式(1)

ctest

(int n,

int m)

//建構函式(2)

ctest()

//建構函式(3)};

intmain()

;// 三個元素分別用建構函式(1),(2),(3)初始化

cout <<

"array1[3] ended!"

<< endl;

/*乙個陣列中的不同物件元素可以指定使用不同的建構函式類初始化,未必都是用同乙個建構函式,由傳入的引數(型別+數量)來決定.*/

ctest array2[3]

=;//三個元素分別用(2),(2),(1)初始化

cout <<

"array2[3] ended!"

<< endl;

/*這是乙個指標陣列:*/

ctest * parray[3]

=;delete parray[0]

, parray[1]

;//兩個元素指向的物件分別用 (1),(2)初始化

/*先對parray[0]和parray[1]進行了初始化,把它們初始化為指向動態分配的ctest物件的 指標(位址)。

而這兩個動態分配出來的ctest物件,又分別是用建構函式(1)和建構函式(2)初始化的。

至於parray[2]沒有初始化,其值是隨機的,不知道指向**。

所以該陣列最終生成了兩個ctest物件,而不是3個所以也只呼叫ctest類的建構函式兩次。*/

cout <<

"array3[3] ended!"

<< endl;

return0;

}

重學c 函式和陣列

放假的時候再繼續重新自學c 今天看到函式和陣列 c 中,在函式中陣列引數對應的都是指標。重點在於 其一講陣列位址作為引數可以節省複製整個陣列的時間和記憶體 只要傳遞乙個陣列頭的位址 如果陣列很大,使用拷貝的系統開銷 空間以及時間 非常大。其二 使用原始資料增加了破壞陣列的風險 書上看的,不是很理解 ...

陣列和陣列函式

1 如果對全部元素賦初值 即提供全部初始資料 則定義陣列時對第一維的長度可以不指定,但第二維的長度不能省。2.gets 字元陣列 1 格式 gets 字元陣列名 2 作用 從終端輸入乙個字串到字元陣列,並且得 到乙個函式值。該函式值是字元陣列的首位址。gets函式這裡注意 如果和scanf s k ...

PHP陣列和陣列函式

陣列 array 能在乙個單獨的變數中儲存乙個或多個值,php中的陣列型別分為三類 索引陣列 陣列下標是數字索引,可以用索引訪問該陣列元素 關聯陣列 帶有鍵值和鍵名,可以通過鍵名訪問鍵值 多維陣列 陣列中包含陣列,指數組的巢狀 php中陣列的建立用關鍵字array 定義乙個索引陣列,索引陣列的索引從...