C++ 建構函式
建構函式是類的函式,在建立類的新的物件時執行。建構函式與類名相同,並且沒有返回值型別,即使是void也不行。它們主要用於為類的變數提供初始值。
兩種主要的建構函式型別是預設建構函式和引數化建構函式。以下是關於它們的詳細資訊。
預設建構函式
預設建構函式不接受任何引數。如果程式設計師沒有顯式提供預設建構函式,則編譯器會提供一個隱式預設建構函式。在這種情況下,變數的預設值為0。
演示預設建構函式的程式如下所示。
示例
#include <iostream>
using namespace std;
class A {
private:
int num1, num2 ;
public:
A() {
num1 = 5;
num2 = 7;
}
void display() {
cout<<"num1 = "<< num1 <<endl;
cout<<"num2 = "<< num2 <<endl;
}
};
int main() {
A obj;
obj.display();
return 0;
}輸出
num1 = 5 num2 = 7
在上面的程式中,類A包含一個預設建構函式,它將num1和num2初始化為5和7。它還包含一個函式display(),用於列印num1和num2的值。程式碼片段如下所示。
class A {
private:
int num1, num2 ;
public:
A() {
num1 = 5;
num2 = 7;
}
void display() {
cout<<"num1 = "<< num1 <<endl;
cout<<"num2 = "<< num2 <<endl;
}
};main()函式包含類型別A的物件定義。然後呼叫display()函式。如下所示。
A obj; obj.display();
引數化建構函式
引數化建構函式可以接受引數,以便在建立物件時對其進行初始化。引數的新增方式與普通函式相同。引數化建構函式可以隱式或顯式呼叫。
演示引數化建構函式的程式如下所示。
示例
#include <iostream>
using namespace std;
class A {
private:
int num1, num2 ;
public:
A(int n1, int n2) {
num1 = n1;
num2 = n2;
}
void display() {
cout<<"num1 = "<< num1 <<endl;
cout<<"num2 = "<< num2 <<endl;
}
};
int main() {
A obj(3,8);
obj.display();
return 0;
}輸出
num1 = 3 num2 = 8
在上面的程式中,類A包含一個引數化建構函式,它使用n1和n2提供的值初始化num1和num2。它還包含一個函式display(),用於列印num1和num2的值。程式碼片段如下所示。
class A {
private:
int num1, num2 ;
public:
A(int n1, int n2) {
num1 = n1;
num2 = n2;
}
void display() {
cout<<"num1 = "<< num1 <<endl;
cout<<"num2 = "<< num2 <<endl;
}
};main()函式包含類型別A的物件定義。然後呼叫display()函式。如下所示。
A obj(3,8); obj.display();
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP