c++:建構函式
阿新 • • 發佈:2018-12-27
建構函式的目的:建立一個物件的時候物件初始化
注意:c++中,構造方法分為帶參構造方法,無引數構造方法,系統預設建構函式;
當申明一個物件的時候,如果成員方法中寫有帶引數的構造方法,就必須寫無引數的構造方法。
如果未寫有帶引數的構造方法,可以不寫五引數構造方法,系統會自動預設非配一個無引數構造方法(defaut consturctor)!
#include<iostream> using namespace std; class Student { public: Student(){} //預設構造方法:因為下面已經寫有帶引數的構造方法,就必須寫這裡的預設構造方法 Student(int n,string nam,char s):num(n),name(nam),sex(s){}//帶引數構造:已寫有帶引數預設構造方法 private: int num; string name; char sex; }; int main( ) { Student stu1; Student stu2(2078,"wang",'m'); Student stu3[30]; }
否則系統在宣告物件時無法識別:
初始化成員物件也可以用引數初始化表來實現:
構造方法中最好不要加入與初始化無關的內容:
呼叫自定義函式給成員屬性初始化與系統預設建構函式的初始化:
自定義函式是在宣告之後呼叫函式,預設建構函式是在宣告的同時初始化;
類的宣告和物件的定義:
初始化引數列表不能初始化字串陣列,因為字串陣列必須在花括{}號裡面操作定義strcpy()
改進方案->
將字串陣列換成string類卻可以