在C++中,當創建一個派生類對象時,基類的構造函數會在派生類對象構造之前被調用。你可以通過以下幾種方式調用基類構造函數:
base_class_name()
來調用它。例如:class Base {
public:
Base() {
// 基類構造函數實現
}
};
class Derived : public Base {
public:
Derived() : Base() { // 調用基類默認構造函數
// 派生類構造函數實現
}
};
class Base {
public:
Base(int x) {
// 基類構造函數實現
}
};
class Derived : public Base {
public:
Derived(int x) : Base(x) { // 調用基類帶參數的構造函數
// 派生類構造函數實現
}
};
using
聲明來繼承基類的構造函數。例如:class Base {
public:
Base() {
// 基類構造函數實現
}
Base(int x) {
// 基類帶參數構造函數實現
}
};
class Derived : public Base {
public:
using Base::Base; // 繼承基類的所有構造函數
};
這樣,Derived
類就會繼承Base
類的所有構造函數,可以直接使用Derived()
和Derived(int x)
來創建派生類對象。