建構函式:
作用:在物件被建立時使用特定的值構造物件,將物件初始化為乙個特定的初始狀態
要求:函式名=型別名,不能定義返回值型別,也不能有return語句
使用:clock c(實參1, 實參2,……);
如果沒有定義建構函式,編譯器將在需要時自動生成乙個預設建構函式,這個預設構造函式引數列表為空,且初始值可能不確定
如果定義了建構函式,編譯器就不再隱含生成預設建構函式,如果此時依然希望編譯器隱含生成預設建構函式,可以使用「clock() = default;」
非法例子1:
class clock
int main(void)
錯誤原因:雖然乙個物件可以定義多個建構函式,但是上面這兩個建構函式都可以只接受乙個實參,這樣當你「clock k(5)」時系統就不知道使用哪個建構函式而出錯
非法例子2:
class clock
int main(void)
錯誤原因:如果定義了建構函式,編譯器就不再隱含生成預設建構函式,所以你在定義新的clock物件時,就必須傳遞乙個引數以使用上面你自己定義的的建構函式,例如clock t(5);
合法例子:(**中有注釋)
#includeusing namespace std;
class clock
;clock::clock(): h(1),m(0),s(0) //冒號後面是初始化列表,相當於就是在函式裡面初始化
clock::clock(int h, int m, int s)
void clock::set(int h, int m, int s)
void clock::show()
int main(void)
建構函式 析構函式的基本概念
建構函式主要用於建立物件並將物件的資料初始化。析構函式是物件即將被銷毀的時候做一些清理工作。classa 建構函式 def init self,age,name self.age age self.name name 析構函式 def del self pass建構函式的特點 第乙個引數是self,...
JavaScript函式基本概念
js的函式和python差不多,def 換成function arguments js函式在使用時傳入的引數可以不與定義的引數個數相等 可多可少 arguments用於獲取所有傳入的引數,用法類似與array rest 用法function f a,b,rest 獲取除了自定義的a,b引數外的其餘引...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...