Constructors มักถูกอ้างถึงว่าเป็น member functions ที่จำเป็นซึ่งใช้สำหรับการ initialize class-type objects และ structures เหมือนภาษาโปรแกรมมิ่งอื่นๆ constructor ก็ถูกใช้ใน C++ เช่นกัน มันถูกใช้เพื่อสร้าง objects ด้วยวิธีการเฉพาะเพื่อหลีกเลี่ยงพฤติกรรมที่ไม่ได้ initialize หรือ undefined สำหรับ structures
คู่มือนี้จะอธิบายเกี่ยวกับ:
- Constructor "struct" ใน C++ คืออะไร?
- จุดสำคัญสำหรับการกำหนด Constructor ใน C++
- ไวยากรณ์ของ Constructor "struct" ใน C++
- การทำงานของ Constructor "struct" ใน C++
- Default "struct" Constructor ใน C++
- Parameterized "struct" Constructor ใน C++
- วิธีสร้าง Pointers สำหรับ Structure Constructor ใน C++?
- สรุป
ใน C++ " struct " เป็นที่รู้จักในฐานะโครงสร้างที่เป็น special function member ภายใน struct Constructor "struct" ถูกใช้เพื่อ initialize ตัวแปรสมาชิกของมันและช่วยให้ผู้ใช้สามารถสร้างกลุ่มตัวแปรใหม่ที่ประกอบด้วย mixed data types ในที่เดียวได้ คำพูดง่ายๆ Constructor " struct " เป็นวิธีการเฉพาะที่ถูก invoke อัตโนมัติทุกครั้งที่ผู้ใช้ประกาศ object สำหรับ class
จุดสำคัญสำหรับการกำหนด Constructor ใน C++
นี่คือจุดสำคัญบางอย่างสำหรับการกำหนด constructor ใน C++:
- Constructor จะมีชื่อเดียวกับ class ที่มันเป็นส่วนหนึ่งเสมอ
- หากผู้ใช้ไม่ได้ให้ constructor มันจะสร้าง default constructor ขึ้นมา
- Constructors ถูกใช้สำหรับ initialization มากกว่าการดำเนินการ input/output
- ใช้สำหรับจัดสรรหน่วยความจำในรันไทม์ด้วยความช่วยเหลือของ operator
- มันไม่สามารถประกาศเป็น virtual และ static ได้
- ผู้ใช้สามารถประกาศ constructor มากกว่าหนึ่งได้ (สามารถ overload ได้)
ไวยากรณ์ของ Constructor "struct" ใน C++
มาดูไวยากรณ์ทั่วไปของ struct constructors กัน:
struct Structure-Name{
d_type variable1;
d_type variable2;
........
........
//without parameters constructor
Structure-Name()
{
//code
}
//with parameters constructor
Structure-Name (d_type variable1, d_type variable2,..)
{
//code
}
};
ตามไวยากรณ์ที่อธิบายไว้ข้างต้น:
- "Structure-Name" จะถูกแทนที่ด้วยชื่อโครงสร้างที่ผู้ใช้ต้องการและจะถูกกำหนดด้วยคีย์เวิร์ด "struct"
- "d_type variable1" แทนชื่อตัวแปรพร้อม data types ที่แตกต่างกัน
- จากนั้น Constructor "Structure-Name()" จะถูกกำหนดโดยไม่มี parameter
- ต่อมา ไวยากรณ์ของ parameterized constructor ก็ถูกกำหนดเช่นกัน เช่น "Structure-Name(d_type variable1,…)" แทน parameterized constructor
หมายเหตุ: การประกาศ "struct" เหมือนกับการประกาศ class ใน C++
การทำงานของ Constructor "struct" ใน C++
ใน C++ ผู้ใช้สามารถใช้ struct constructor โดยไม่มีหรือมี parameters ตามความต้องการของพวกเขา มาดูการสาธิตโค้ดต่อไปนี้เพื่อความเข้าใจที่ดีกว่า
สร้าง Default "struct" Constructor ใน C++
เพื่อสร้าง default struct constructor ใน C++ ให้ดูโค้ดบล็อกต่อไปนี้:
#include <iostream>
using namespace std;
struct folk{
string name;
float height;
int age;
folk(){
name= "David";
height = 6.7;
age = 26;
cout<<"Name: "<<name<<endl<<"Height: "<<height<<endl<<"Age: "<<age<<endl;
}
};
int main()
{
folk();
}
ในโค้ดบล็อกที่ให้มาข้างต้น:
- ในตอนแรก เราเพิ่มไลบรารี input/output stream “# include <iostream>” เป็น header file
- ต่อไป ใช้ “using namespace std” เพื่อเปิดใช้งานการใช้งาน identifier ของ standard library
- หลังจากนั้น เราสร้าง “folk()” structure ที่มีสมาชิก 3 ตัวด้วย data types ที่ต่างกัน เช่น "name" เป็น string, "height" เป็น float และ "age" เป็น integer type ตามลำดับ
- จากนั้น เพิ่ม constructor สำหรับ struct และ initialize สมาชิกด้วยค่าที่เกี่ยวข้อง ภายใน constructor body เรากำหนดข้อมูลของ folk structure และใช้คำสั่ง "cout" เพื่อแสดงผลลัพธ์บนคอนโซล
Output
สร้าง Parameterized "struct" Constructor ใน C++
เพื่อสร้าง parameterized constructor ใน C++ ให้ลองโค้ดที่ให้มาด้านล่าง:
#include <iostream>
using namespace std;
struct folk{
string name;
float height;
int age;
folk(string x, float y, int z){
name = x;
height = y;
age = z;
}
};
int main()
{
folk f1("Ayzel", 5.1, 23);
cout<<"Name: " <<f1.name<<endl<<"Height: "<<f1.height<<endl<<"Age: "<<f1.age<<endl;
}
ที่นี่:
- เราขยายตัวอย่างที่อภิปรายไว้ก่อนหน้าและส่งตัวแปรพร้อม data types ที่เกี่ยวข้องเป็น parameters ไปยัง constructor เช่น "x" เป็น string, "y" เป็น float และ "z" เป็น integer
- สุดท้าย ภายในฟังก์ชัน "main()" เราสร้าง object ชื่อ "f1" และเรียก constructor ด้วยค่า จากนั้นใช้คำสั่ง "cout" เพื่อพิมพ์ค่าผลลัพธ์ของตัวแปรบนคอนโซล
Output

วิธีสร้าง Pointers สำหรับ Structure Constructor ใน C++?
Pointer เป็นตัวแปรที่ใช้สำหรับจัดเก็บที่อยู่หน่วยความจำของ object ใน C++ pointers ยังใช้สำหรับการ iterate over elements ของ array หรือโครงสร้างข้อมูลอื่นๆ และวัตถุประสงค์อื่นๆ มากมาย Pointer variables ยังถูกสร้างสำหรับ user-defined types เช่น structures มาดูตัวอย่างที่ให้มาสำหรับการสร้าง pointer สำหรับ structures:
#include <iostream>
#include <cstring>
using namespace std;
struct folk
{
string name;
int age;
};
int main(){
struct folk f = {"Elice ", 28};
struct folk *ptr;
ptr = &f;
cout << f.name << f.age << endl;
cout <name <age << endl;
return 0;
}
ในโค้ดที่ให้มาข้างต้น:
- เราเพิ่ม header files “<iostream>” และ “<cstring>”
- จากนั้น ระบุ “using namespace std” เพื่อเปิดใช้งานการใช้งาน identifier ของ standard library
- ต่อไป เราสร้าง “folk()” structure ที่มีสมาชิก 2 ตัวด้วย data types ที่ต่างกัน เช่น "name" เป็น string และ "age" เป็น integer type ตามลำดับ
- หลังจากนั้น เรากำหนด pointer "ptr" ไปยัง "folk" structure
- ตอนนี้ เราสร้าง pointer "ptr" สำหรับชี้ไปที่ตัวแปร structure "f" ตามผลลัพธ์ "ptr" จึงบันทึกที่อยู่ของตัวแปร structure "f"
- สุดท้าย เราใช้ operator "->" เพื่อเข้าถึง data members ของ structure members ของ structure โดยใช้ pointer ไปยัง structure นั้น
นี่คือ output ของโค้ดที่อธิบายไว้ข้างต้น:

สรุป
ใน C++ "struct" เป็นที่รู้จักในฐานะโครงสร้างที่เป็น special member function ภายใน struct ที่ใช้ initialize ตัวแปรสมาชิกของมันและช่วยให้ผู้ใช้สร้างกลุ่มตัวแปรใหม่ที่ประกอบด้วย mixed data types ในที่เดียวได้ ผู้ใช้สามารถกำหนด constructor ด้วยหรือไม่มี parameter ได้ ใน C++ pointer variables ยังถูกสร้างสำหรับ user-defined types เช่น structures เราได้สาธิตข้อมูลโดยละเอียดเกี่ยวกับ struct constructors ใน C++
เกี่ยวกับผู้เขียน
Maria Naz
ฉันมีปริญญาโทด้านวิทยาการคอมพิวเตอร์ ฉันหลงใหลในงานของฉัน สำรวจเทคโนโลยีใหม่ เรียนรู้ภาษาโปรแกรมมิ่ง และฉันชอบแบ่งปันความรู้ของฉันกับโลก