Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ทำความเข้าใจเกี่ยวกับตัวสร้างโครงสร้าง C++:วัตถุประสงค์ ไวยากรณ์ และการใช้งาน

ทำความเข้าใจเกี่ยวกับตัวสร้างโครงสร้าง C++:วัตถุประสงค์ ไวยากรณ์ และการใช้งาน

Constructor มักถูกเรียกว่าฟังก์ชันสมาชิกที่จำเป็นซึ่งใช้สำหรับการเริ่มต้นอ็อบเจ็กต์และโครงสร้างประเภทคลาส เช่นเดียวกับภาษาการเขียนโปรแกรมอื่น Constructor ก็ใช้ในภาษา C++ เช่นกัน มันถูกใช้เพื่อสร้างวัตถุด้วยวิธีการเฉพาะเพื่อหลีกเลี่ยงพฤติกรรมที่ไม่ได้กำหนดค่าเริ่มต้นหรือไม่ได้กำหนดไว้สำหรับโครงสร้าง

คู่มือนี้จะอธิบายเกี่ยวกับ:

  • ตัวสร้าง "struct" ในภาษา C++ คืออะไร
  • ประเด็นสำคัญสำหรับการกำหนด Constructor ใน C++
  • ไวยากรณ์ของตัวสร้าง "struct" ในภาษา C++
  • การทำงานของตัวสร้าง "struct" ใน C ++
  • ตัวสร้าง "struct" เริ่มต้นในภาษา C++
  • ตัวสร้าง "struct" แบบพารามิเตอร์ใน C++
  • จะสร้างพอยน์เตอร์สำหรับตัวสร้างโครงสร้างใน C++ ได้อย่างไร
  • บรรทัดล่างสุด

ในภาษา C++ “struct ” เรียกว่าโครงสร้างที่เป็นสมาชิกฟังก์ชันพิเศษภายในโครงสร้าง ตัวสร้าง "struct" ใช้เพื่อเริ่มต้นตัวแปรสมาชิกและช่วยให้ผู้ใช้สามารถสร้างกลุ่มตัวแปรใหม่ซึ่งประกอบด้วยประเภทข้อมูลแบบผสมในที่เดียว พูดง่ายๆ ก็คือ “struct ” Constructor เป็นวิธีการเฉพาะที่จะถูกเรียกใช้โดยอัตโนมัติทุกครั้งที่ผู้ใช้ประกาศอ็อบเจ็กต์สำหรับคลาส

ประเด็นสำคัญสำหรับการกำหนด Constructor ใน C++

ต่อไปนี้เป็นประเด็นสำคัญในการกำหนด Constructor ใน C++:

  • ตัวสร้างจะมีชื่อเดียวกันกับคลาสที่เป็นส่วนหนึ่งเสมอ
  • หากผู้ใช้ไม่ได้ระบุ Constructor ก็จะสร้าง Constructor เริ่มต้นขึ้นมา
  • ตัวสร้างใช้สำหรับการเริ่มต้นมากกว่าการดำเนินการอินพุต/เอาต์พุต
  • ใช้สำหรับค้นหาหน่วยความจำ ณ รันไทม์ด้วยความช่วยเหลือจากโอเปอเรเตอร์
  • ไม่สามารถประกาศให้เป็นแบบเสมือนและแบบคงที่ได้
  • ผู้ใช้สามารถประกาศ Constructor ได้มากกว่าหนึ่งตัว (สามารถโอเวอร์โหลดได้)

ไวยากรณ์ของตัวสร้าง "struct" ใน C++

มาดูไวยากรณ์ทั่วไปของตัวสร้างโครงสร้างกัน:

โครงสร้างโครงสร้าง-ชื่อ{
d_type ตัวแปร 1;
d_type ตัวแปร 2;
........
........

//ไม่มีตัวสร้างพารามิเตอร์
โครงสร้าง-ชื่อ()
{
//รหัส

//พร้อมตัวสร้างพารามิเตอร์
โครงสร้าง-ชื่อ (d_typeตัวแปร1, d_typeตัวแปร2,...)
{
//รหัส

};

ตามไวยากรณ์ที่อธิบายไว้ข้างต้น:

  • ชื่อโครงสร้าง ” จะถูกแทนที่ด้วยชื่อโครงสร้างที่ผู้ใช้ต้องการ และจะกำหนดด้วย “struct ” คำสำคัญ
  • d_type ตัวแปร1 ” หมายถึงชื่อตัวแปรที่มีประเภทข้อมูลต่างกัน
  • จากนั้น “ชื่อโครงสร้าง() ” ตัวสร้างถูกกำหนดโดยไม่มีพารามิเตอร์
  • ถัดไป ไวยากรณ์ของตัวสร้างพารามิเตอร์ก็ถูกกำหนดไว้เช่นกัน เช่น “ชื่อโครงสร้าง(d_type ตัวแปร 1,…) ” หมายถึงตัวสร้างพารามิเตอร์

หมายเหตุ :การประกาศ “struct” เหมือนกับการประกาศคลาสในภาษา C++

การทำงานของตัวสร้าง "struct" ใน C ++

ใน C++ ผู้ใช้สามารถใช้ตัวสร้างโครงสร้างโดยไม่มีหรือมีพารามิเตอร์ตามความต้องการได้ ลองตรวจสอบการสาธิตโค้ดต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

สร้างตัวสร้าง "struct" เริ่มต้นใน C++

หากต้องการสร้างตัวสร้างโครงสร้างเริ่มต้นใน C++ ให้ตรวจสอบบล็อกโค้ดต่อไปนี้:

#รวม
ใช้เนมสเปซ std;

โครงสร้างพื้นบ้าน {
   ชื่อสตริง;
   ความสูงลอย;
   อายุจริง;

พื้นบ้าน(){
   name="เดวิด";
   ความสูง =6.7;
   อายุ =26;
   ศาล<<"ชื่อ:"<<ชื่อ<     }
};

int หลัก()
{
   พื้นบ้าน();

ในบล็อกโค้ดที่ระบุข้างต้น:

  • ในตอนแรก เราได้เพิ่ม “# รวม ไลบรารีสตรีมอินพุต/เอาท์พุตเป็นไฟล์ส่วนหัว
  • ถัดไป ใช้ “การใช้เนมสเปซ std” เพื่อเปิดใช้งานการใช้ตัวระบุไลบรารีมาตรฐาน
  • หลังจากนั้น เราได้สร้าง “folk()” โครงสร้างที่มีสมาชิกสามคนซึ่งมีประเภทข้อมูลต่างกัน เช่น “ชื่อ ” เป็นสตริง “ความสูง ” เป็นทศนิยม และ “อายุ ” เป็นประเภทจำนวนเต็มตามลำดับ
  • จากนั้น เพิ่มตัวสร้างสำหรับโครงสร้างและเริ่มต้นสมาชิกด้วยค่าตามลำดับ ภายในตัวคอนสตรัคเตอร์ เราได้กำหนดข้อมูลของโครงสร้างพื้นบ้านและใช้ "cout ” เพื่อแสดงผลลัพธ์บนคอนโซล

เอาต์พุต

สร้างตัวสร้าง "struct" แบบกำหนดพารามิเตอร์ใน C++

ในการสร้างตัวสร้างพารามิเตอร์ใน C++ ให้ลองใช้โค้ดด้านล่าง:

#รวม
ใช้เนมสเปซ std;

โครงสร้างพื้นบ้าน {
   ชื่อสตริง;
   ความสูงลอย;
   อายุจริง;

พื้นบ้าน (สตริง x, ลอย y, int z) {
   ชื่อ =x;
   ความสูง =ย;
   อายุ =ซ;
   }
};

int หลัก()
{
    โฟล์ค f1("Ayzel", 5.1, 23);
    ศาล <<"ชื่อ:" <

ที่นี่:

  • เราขยายตัวอย่างที่กล่าวถึงก่อนหน้านี้ และส่งตัวแปรพร้อมกับประเภทข้อมูลตามลำดับเป็นพารามิเตอร์ไปยังตัวสร้าง เช่น “x ” เป็นสตริง “y ” เป็นรูปทศนิยม และ “z ” เป็นจำนวนเต็ม
  • สุดท้าย ภายใน “main() ” ฟังก์ชั่นที่เราได้สร้างวัตถุชื่อ “f1 ” และเรียกใช้ตัวสร้างด้วยค่า จากนั้นใช้ “cout ” เพื่อพิมพ์ค่าผลลัพธ์ของตัวแปรบนคอนโซล

เอาต์พุต

ทำความเข้าใจเกี่ยวกับตัวสร้างโครงสร้าง C++:วัตถุประสงค์ ไวยากรณ์ และการใช้งาน

จะสร้างพอยน์เตอร์สำหรับตัวสร้างโครงสร้างใน C++ ได้อย่างไร

ตัวชี้คือตัวแปรที่ใช้สำหรับจัดเก็บที่อยู่หน่วยความจำของวัตถุ ในภาษา C++ พอยน์เตอร์ยังใช้สำหรับการวนซ้ำองค์ประกอบของอาร์เรย์หรือโครงสร้างข้อมูลอื่นๆ และวัตถุประสงค์อื่นๆ อีกมากมาย ตัวแปรพอยน์เตอร์ยังถูกสร้างขึ้นสำหรับประเภทที่ผู้ใช้กำหนด เช่น โครงสร้าง มาดูตัวอย่างการสร้างตัวชี้สำหรับโครงสร้างที่ให้มา:

#รวม
#รวม
ใช้เนมสเปซ std;

โครงสร้างพื้นบ้าน
{
  ชื่อสตริง;
  อายุจริง;
};

int หลัก () {
      โครงสร้างพื้นบ้าน f ={"Elice ", 28};
      โครงสร้างพื้นบ้าน *ptr;
      พีทีอาร์ =&f;
      ศาล <     ศาล <ชื่อ <อายุ <     กลับ 0;

ในโค้ดที่ให้ไว้ข้างต้น:

  • เราได้เพิ่ม และ ไฟล์ส่วนหัว
  • จากนั้น ระบุ “การใช้เนมสเปซ std” เพื่อเปิดใช้งานการใช้ตัวระบุไลบรารีมาตรฐาน
  • ต่อไป เราได้สร้าง “folk()” โครงสร้างที่มีสมาชิกสองคนซึ่งมีประเภทข้อมูลต่างกัน เช่น “ชื่อ ” เป็นสตริง และ “อายุ ” เป็นประเภทจำนวนเต็มตามลำดับ
  • หลังจากนั้น เรากำหนดตัวชี้ “ptr ” ถึง “พื้นบ้าน ” โครงสร้าง
  • ตอนนี้ เราได้สร้างตัวชี้ “ptr ” เพื่อชี้ไปที่ “f ” ตัวแปรโครงสร้าง ดังนั้น “ptr ” ตอนนี้บันทึกที่อยู่ของตัวแปรโครงสร้าง “f ”.
  • สุดท้ายนี้ เราใช้ “-> ” เพื่อเข้าถึงสมาชิกข้อมูลของสมาชิกของโครงสร้างโดยใช้ตัวชี้ไปยังโครงสร้างนั้น

นี่คือผลลัพธ์ของโค้ดที่อธิบายไว้ข้างต้น:

ทำความเข้าใจเกี่ยวกับตัวสร้างโครงสร้าง C++:วัตถุประสงค์ ไวยากรณ์ และการใช้งาน

บรรทัดล่างสุด

ในภาษา C++ “struct ” เรียกว่าโครงสร้างที่เป็นฟังก์ชันสมาชิกพิเศษภายในโครงสร้างที่ใช้ในการเริ่มต้นตัวแปรสมาชิก และช่วยให้ผู้ใช้สามารถสร้างกลุ่มตัวแปรใหม่ซึ่งประกอบด้วยประเภทข้อมูลแบบผสมได้ในที่เดียว ผู้ใช้สามารถกำหนดโดยมีหรือไม่มีตัวสร้างพารามิเตอร์ ในภาษา C++ ตัวแปรพอยน์เตอร์จะถูกสร้างขึ้นสำหรับประเภทที่ผู้ใช้กำหนด เช่น โครงสร้าง เราได้แสดงข้อมูลโดยละเอียดเกี่ยวกับตัวสร้างโครงสร้างในภาษา C++ แล้ว

เกี่ยวกับผู้เขียน

ทำความเข้าใจเกี่ยวกับตัวสร้างโครงสร้าง C++:วัตถุประสงค์ ไวยากรณ์ และการใช้งาน

มาเรีย นาซ

ฉันสำเร็จการศึกษาระดับปริญญาโทสาขาวิทยาการคอมพิวเตอร์ ฉันหลงใหลในงานของฉัน สำรวจเทคโนโลยีใหม่ๆ การเรียนรู้ภาษาการเขียนโปรแกรม และฉันชอบที่จะแบ่งปันความรู้ของฉันกับโลก