C++ 建構函式
建構函式
C++ 中的建構函式是建立類物件時自動呼叫的一個特殊方法。
要建立建構函式,請使用與類相同的名稱,後跟括號 ()
示例
class MyClass { // 類
public: // 訪問說明符
MyClass() { // 建構函式
cout << "Hello World!";
}
};
int main() {
MyClass myObj; // 建立 MyClass 的物件(這將呼叫建構函式)
return 0;
}
自己動手試一試 »
注意:建構函式與類同名,它始終是 public
的,並且沒有返回值。
構造方法引數
建構函式也可以接受引數(就像普通函式一樣),這對於設定屬性的初始值非常有用。
以下類具有 brand
、model
和 year
屬性,以及一個具有不同引數的建構函式。在建構函式內部,我們將屬性設定為等於建構函式引數(例如 brand=x
)。當我們呼叫建構函式(透過建立類的物件)時,我們將引數傳遞給建構函式,它將相應屬性的值設定為相同
示例
class Car { // 類
public: // 訪問說明符
string brand; // 屬性
string model; // 屬性
int year; // 屬性
Car(string x, string y, int z) { // 帶引數的建構函式
brand = x;
model = y;
year = z;
}
};
int main() {
// 建立 Car 物件並呼叫帶有不同值的建構函式
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
// 列印值
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
自己動手試一試 »
與函式一樣,建構函式也可以在類外定義。首先,在類內宣告建構函式,然後透過指定類名,後跟作用域解析 ::
運算子,再後跟建構函式名(與類名相同)來在類外定義它。
示例
class Car { // 類
public: // 訪問說明符
string brand; // 屬性
string model; // 屬性
int year; // 屬性
Car(string x, string y, int z); // 建構函式宣告
};
// 類外建構函式定義
Car::Car(string x, string y, int z) {
brand = x;
model = y;
year = z;
}
int main() {
// 建立 Car 物件並呼叫帶有不同值的建構函式
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
// 列印值
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
自己動手試一試 »