c 繼續學習

2021-08-24 19:55:00 字數 703 閱讀 1676

很久沒有用c++了。最近寫起來手生...又發現很多問題(我已經搞不清自己以前是否遇到過了...)。

1.類中static變數的初始化問題。如果是const的,那麼直接在宣告處賦值即可。如果非static,你就需要將類拆成乙個.h和乙個.cpp檔案。只有這樣宣告在.h中,定義在.cpp中。不會影響使用。也就是說在生成類例項之前就會初始化。如果你將非const的static變數寫於乙個.cpp檔案中(.h檔案我還沒有試過)。就會引發link2001鏈結錯誤。錯誤指向你的那個static變數。

2.virtual function的定義。如果你在沒有拆分為.h和.cpp的類裡直接寫,那就寫virtual void foo(),絕對不能寫virtual void foo();如果你真覺得這個函式父類就不應該實現。那麼就寫成純虛的virtual void foo()=0;如果不這樣寫也會產生link2001錯誤,錯誤指向你所定義的virtual functions.

3.如果你在某類中定義了乙個純虛函式,那麼它一定不會被例項化。一般會報can not be instantiate.

4.如果你在某類中定義乙個純虛函式,那麼子類如果不拆成.h和.cpp,應該不會有多大問題,你只要再實現就好了。如果拆成了.h和.cpp檔案,那麼就一定要在.h中宣告這個函式。例如某父類a,有純虛函式virtual void foo()=0;,子類的.h檔案中應宣告virtual void foo();並且在.cpp中實現。否則子類就不能被例項化。

繼續學習c語言

繼續學習,繼續程式設計,繼續進步,今天學習了函式,遇到兩個難點 形參和實參 函式的遞迴.形參實質上相當於實參的複製貼上,而函式遞迴時要注意 函式返回時要返回到呼叫它的位置上繼續執行.同樣,也做了幾道程式設計題鞏固了一下.題目如下 將陣列a中的內容和陣列b中的內容進行交換。陣列一樣大 計算1 1 1 ...

繼續學習C 運算子

兩整數相除,結果為整數,有一方是實數形式,結果保留小數 求餘運算子要求兩側均為整型資料,數值取餘,符號與被除數一致 恩,問這個問題的人太多了,懶得繼續回答,直接貼上來自己看。優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成...

silverstripe學習(繼續)

今天來學習怎麼寫頁面 例如這樣 class schoolclass extends dataobject 2 然後更新資料庫,訪問db build flush 1的這個位址,你想要的資料庫就會建好了 3 需要些前端的頁面了,乙個web頁面,最基本的操作就是有些文字框可以提交,首先學習怎麼寫這些web...