我在做"俄羅斯方塊"的嘗試時,遇到乙個問題,就是描述方塊的座標是陣列,一開始是做成全域性的,但是後來覺得放到類裡面感覺隱藏性更好.
但是遇到了問題:陣列型別的變數,只能在定義的同時才能使用{}來初始化,而在類的定義中只能放成員變數的宣告。
經過思考並嘗試,有兩個方法可行:
方法1.在類的定義時,先宣告這個陣列型別的變數,然後在建構函式時構造乙個臨時陣列變數,然後用for迴圈將值複製給類的成員陣列變數。
標頭檔案class
;原始檔
block::block()
; //定義並初始化臨時變數tmparr
for (int i=0; i!=7; ++i) //複製到類的陣列變數中}}
}方法2.方法1雖然可實現但是要處建立乙個陣列還要進行複製動作總覺得不利索。後來想到在定義類時先將陣列變數宣告為static變數,然後在類外(類的cpp檔案中)定義並同時初始化它。
//標頭檔案
class block
;//原始檔
point block::pts[7][4][4]= //定義的同時可以初始化已宣告的靜態變數:)
,,,},
,,,},
,,,},
,,,}
//形狀z
,,,},
,,,},
,,,},
,,,}
//形狀l
,,,},
,,,},
,,,},
,,,}
//形狀j
,,,},
,,,},
,,,},
,,,}
//形狀i
,,,},
,,,},
,,,},
,,,}
//形狀o
,,,},
,,,},
,,,},
,,,}
//形狀t
,,,},
,,,},
,,,},
,,,}
};
結構型別變數的初始化
結構型別變數也與其他變數一樣,可以再定義的同時進行初始化 include include int main void struct studenttype struct studenttype student 99.8 printf d n student.num printf s n studen...
C 類變數初始化
c 類變數初始化 c 為中類物件的構造順序是這樣的 1.分配記憶體,呼叫建構函式時,隱式 顯示的初始化各資料成員 2.進入建構函式後在建構函式中執行一般計算 c 類中變數的初始化 1.初始化列表 csomeclass csomeclass x 0 y 1 const常量定義必須初始化,且必須使用初始...
類中變數初始化
類中的變數 包括基本資料型別,物件引用 在載入物件位元組碼進記憶體,在使用其之前,呼叫構造方法之前就已經完成初始化賦值了。其中static 修飾的變數在載入物件位元組碼時時就賦值了,其他變數在這以後被賦值,也就是static 修飾的先賦值。驗證 如下 package cn.ytu.en class ...