C++ ฟังก์ชั่นพร้อมตัวอย่างโปรแกรม
ฟังก์ชั่นในคืออะไร C++?
A ฟังก์ชัน in C++ หมายถึงกลุ่มคำสั่งที่รับอินพุต ประมวลผล และส่งคืนเอาต์พุต แนวคิดเบื้องหลังฟังก์ชันคือการรวมงานทั่วไปที่ทำซ้ำๆ เข้าด้วยกัน หากคุณมีอินพุตที่แตกต่างกัน คุณจะไม่เขียนโค้ดเดิมอีก คุณเพียงแค่เรียกใช้ฟังก์ชันด้วยชุดข้อมูลอื่นที่เรียกว่าพารามิเตอร์
แต่ละ C++ โปรแกรมมีอย่างน้อยหนึ่งฟังก์ชัน นั่นคือฟังก์ชัน main() คุณสามารถแบ่งโค้ดของคุณออกเป็นฟังก์ชันต่างๆ ได้ แผนกนี้ควรเป็นแบบที่ทุกฟังก์ชันทำงานเฉพาะเจาะจง
มีฟังก์ชั่นในตัวมากมายใน C++ ห้องสมุดมาตรฐาน คุณสามารถเรียกใช้ฟังก์ชันเหล่านี้ภายในโปรแกรมของคุณได้
ทำไมต้องใช้ฟังก์ชั่น?
มีประโยชน์มากมายที่เกี่ยวข้องกับการใช้ฟังก์ชัน ซึ่งรวมถึง:
- แต่ละฟังก์ชันจะรวมโค้ดที่เกี่ยวข้องเข้าด้วยกัน ทำให้โปรแกรมเมอร์เข้าใจโค้ดได้ง่ายขึ้น
- ฟังก์ชันทำให้การเขียนโปรแกรมง่ายขึ้นโดยกำจัดการซ้ำซ้อนของโค้ด
- ฟังก์ชันอำนวยความสะดวกในการใช้โค้ดซ้ำ คุณสามารถเรียกใช้ฟังก์ชันเดียวกันเพื่อทำงานในส่วนต่างๆ ของโปรแกรม หรือแม้แต่ภายนอกโปรแกรมก็ได้
ฟังก์ชั่นในตัว
In C++ มีฟังก์ชั่นห้องสมุดในตัว C++ ฟังก์ชั่น หากต้องการใช้ฟังก์ชันเหล่านี้ คุณเพียงแค่เรียกใช้/โทรหาฟังก์ชันเหล่านั้นโดยตรง คุณไม่จำเป็นต้องเขียนฟังก์ชันด้วยตัวเอง
1 ตัวอย่าง:
#include <iostream> #include <cmath> using namespace std; int main() { double num, squareRoot; cout << "Enter number: "; cin >> num; squareRoot = sqrt(num); cout << "The square root of " << num << " is: " << squareRoot; return 0; }
Output:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายรหัส:
- รวมไฟล์ส่วนหัว iostream ไว้ในโปรแกรมของเราเพื่อใช้ฟังก์ชันต่างๆ
- รวมไลบรารี cmath เพื่อใช้ฟังก์ชันต่างๆ เราต้องการใช้ฟังก์ชัน sqrt() ที่กำหนดไว้
- รวมเนมสเปซมาตรฐานไว้ในโค้ดของเราเพื่อใช้คลาสโดยไม่ต้องเรียกมัน
- เรียกใช้ฟังก์ชัน main() ควรเพิ่มตรรกะของโปรแกรมภายในเนื้อหาของฟังก์ชันนี้
- ประกาศตัวแปร double สองตัวคือ num และ squareRoot
- พิมพ์ข้อความบนคอนโซล ข้อความขอให้ผู้ใช้ป้อนตัวเลข
- อ่านอินพุตของผู้ใช้จากแป้นพิมพ์ อินพุตจะกลายเป็นค่าของตัวแปร num
- เรียกใช้ฟังก์ชันไลบรารี sqrt() ซึ่งคำนวณรากที่สองของตัวเลข เราส่งพารามิเตอร์ num ไปยังฟังก์ชัน ซึ่งหมายความว่าฟังก์ชันจะคำนวณรากที่สองของ num ฟังก์ชันนี้ถูกกำหนดไว้ในไลบรารี cmath
- พิมพ์ตัวเลขที่ผู้ใช้ป้อน รากที่สอง และข้อความอื่นๆ บนคอนโซล
- โปรแกรมจะต้องคืนค่าเมื่อเสร็จสิ้นสำเร็จ
- ส่วนท้ายของฟังก์ชัน main()
ฟังก์ชันที่ผู้ใช้กำหนด
C++ อนุญาตให้โปรแกรมเมอร์กำหนดฟังก์ชันของตนเอง วัตถุประสงค์ของฟังก์ชันคือเพื่อจัดกลุ่มโค้ดที่เกี่ยวข้อง จากนั้นโค้ดจะได้รับตัวระบุเฉพาะ ชื่อฟังก์ชัน
สามารถเรียกใช้/เรียกใช้ฟังก์ชันจากส่วนอื่นๆ ของโปรแกรมได้ จากนั้นจะรันโค้ดที่กำหนดไว้ภายในเนื้อความ
2 ตัวอย่าง:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Output:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายรหัส:
- รวมไฟล์ส่วนหัว iostream ไว้ในโปรแกรมของเราเพื่อใช้ฟังก์ชันต่างๆ
- รวมเนมสเปซมาตรฐานไว้ในโค้ดของเราเพื่อใช้คลาสโดยไม่ต้องเรียกมัน
- สร้างฟังก์ชันที่ผู้ใช้กำหนดชื่อ sayHello()
- พิมพ์ข้อความบนคอนโซลเมื่อมีการเรียกใช้ฟังก์ชัน sayHello()
- ส่วนท้ายของฟังก์ชัน sayHello()
- เรียกใช้ฟังก์ชัน main() ควรเพิ่มตรรกะของโปรแกรมภายในเนื้อหาของฟังก์ชันนี้
- โทร/เรียกใช้ฟังก์ชันชื่อ sayHello()
- โปรแกรมจะต้องคืนค่าเมื่อเสร็จสิ้นสำเร็จ
- ส่วนท้ายของฟังก์ชัน main()
ประกาศฟังก์ชัน/ต้นแบบ
หากคุณกำหนดฟังก์ชันที่ผู้ใช้กำหนดไว้หลังฟังก์ชัน main() ฟังก์ชัน C++ ผู้รวบรวม จะส่งกลับข้อผิดพลาด สาเหตุคือคอมไพเลอร์ไม่ทราบรายละเอียดของฟังก์ชันที่ผู้ใช้กำหนด รายละเอียดได้แก่ ชื่อของฟังก์ชัน ประเภทของอาร์กิวเมนต์ และประเภทการส่งคืนของฟังก์ชันเหล่านั้น
In C++การประกาศฟังก์ชัน/ต้นแบบจะประกาศฟังก์ชันโดยไม่มีเนื้อหา ซึ่งจะให้รายละเอียดแก่คอมไพเลอร์เกี่ยวกับฟังก์ชันที่ผู้ใช้กำหนด
ในการประกาศ/ต้นแบบ เราจะรวมประเภทการส่งคืน ชื่อฟังก์ชัน และประเภทอาร์กิวเมนต์ ไม่มีการเพิ่มชื่อของข้อโต้แย้ง อย่างไรก็ตาม การเพิ่มชื่ออาร์กิวเมนต์จะไม่ทำให้เกิดข้อผิดพลาด
นิยามฟังก์ชัน
วัตถุประสงค์ของการประกาศฟังก์ชั่นคือการบอก C++ คอมไพเลอร์เกี่ยวกับชื่อฟังก์ชัน ประเภทการส่งคืน และพารามิเตอร์ คำจำกัดความของฟังก์ชันจะบอก C++ คอมไพเลอร์เกี่ยวกับเนื้อหาของฟังก์ชัน
วากยสัมพันธ์
return_datatype function_name( parameters) { function body }
จากที่กล่าวมาข้างต้น นิยามฟังก์ชันจะมีส่วนหัวและเนื้อหาของฟังก์ชัน นี่คือคำอธิบายของพารามิเตอร์:
- return_datatype- บางฟังก์ชันส่งคืนค่า พารามิเตอร์นี้แสดงถึงชนิดข้อมูลของค่าที่ส่งคืน ฟังก์ชั่นบางอย่างไม่คืนค่า ในกรณีนั้น ค่าของพารามิเตอร์นี้จะกลายเป็นโมฆะ
- function_name- นี่คือชื่อของฟังก์ชัน ชื่อฟังก์ชันและพารามิเตอร์จะสร้างลายเซ็นของฟังก์ชัน
- พารามิเตอร์- นี่คือประเภท ลำดับ และจำนวนพารามิเตอร์ของฟังก์ชัน ฟังก์ชั่นบางอย่างไม่มีพารามิเตอร์
- function body- คือคำสั่งที่กำหนดว่าฟังก์ชันจะทำอะไร
เรียกฟังก์ชัน
เพื่อให้ฟังก์ชันดำเนินงานที่ระบุและส่งคืนเอาต์พุต จะต้องเรียกฟังก์ชันนั้น เมื่อคุณเรียกใช้ฟังก์ชัน ฟังก์ชันจะประมวลผลคำสั่งที่เพิ่มภายในเนื้อความ
โปรแกรมถูกเรียกตามชื่อของมัน หากฟังก์ชันรับพารามิเตอร์ ควรส่งค่าของพารามิเตอร์เหล่านั้นในระหว่างการโทร หากบริการไม่มีพารามิเตอร์ ไม่ต้องส่งค่าใด ๆ ในระหว่างการโทร
ผ่านข้อโต้แย้ง
In C++อาร์กิวเมนต์/พารามิเตอร์คือข้อมูลที่ส่งผ่านไปยังฟังก์ชันระหว่างการโทร ค่าจะต้องเริ่มต้นให้กับตัวแปรที่เกี่ยวข้อง
เมื่อเรียกใช้ฟังก์ชัน อาร์กิวเมนต์จะต้องตรงกันเป็นตัวเลข หมายความว่าค่าที่คุณส่งจะต้องเท่ากับจำนวนพารามิเตอร์ ขอย้ำอีกครั้งว่าค่าจะต้องตรงกับพารามิเตอร์ในแง่ของประเภทด้วย หากพารามิเตอร์แรกเป็นจำนวนเต็ม ค่าที่ส่งไปให้พารามิเตอร์ดังกล่าวจะต้องเป็นจำนวนเต็ม
สามารถกำหนดค่าเริ่มต้นให้กับพารามิเตอร์ของฟังก์ชันได้ หากคุณไม่ส่งค่าสำหรับพารามิเตอร์ระหว่างการเรียกใช้ฟังก์ชัน ระบบจะใช้ค่าเริ่มต้น
ตัวอย่างที่ 3: วิธีการเขียนและการเรียกใช้ฟังก์ชัน
#include <iostream> using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout << "Enter two numbers: "; cin >> x >> y; sum = addFunc(x, y); cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum; return 0; } int addFunc(int num1, int num2) { int addFunc; addFunc = num1 + num2; return addFunc; }
Output:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายรหัส:
- รวมไฟล์ส่วนหัว iostream ไว้ในโปรแกรมของเราเพื่อใช้ฟังก์ชันต่างๆ
- รวมเนมสเปซมาตรฐานไว้ในโค้ดของเราเพื่อใช้คลาสโดยไม่ต้องเรียกมัน
- ประกาศฟังก์ชันชื่อ addFunc() ที่รับพารามิเตอร์จำนวนเต็มสองตัว สิ่งนี้จะสร้างต้นแบบฟังก์ชัน
- เรียกใช้ฟังก์ชัน main() ควรเพิ่มตรรกะของโปรแกรมภายในเนื้อหาของฟังก์ชันนี้
- ประกาศตัวแปรจำนวนเต็ม 3 ตัว ได้แก่ x, y และผลรวม
- พิมพ์ข้อความบนคอนโซล ข้อความจะขอให้ผู้ใช้ป้อนตัวเลขสองตัว
- อ่านข้อมูลที่ผู้ใช้ป้อนจากแป้นพิมพ์ ผู้ใช้ควรป้อนตัวเลขสองตัวสำหรับตัวแปร x และ y โดยคั่นด้วยช่องว่าง
- เรียกใช้ฟังก์ชัน addFunc() และส่งพารามิเตอร์ x และ y ให้กับฟังก์ชัน ฟังก์ชันจะดำเนินการกับพารามิเตอร์เหล่านี้และกำหนดเอาต์พุตให้กับตัวแปร sum
- พิมพ์ค่าของตัวแปร x, y และผลรวมบนคอนโซลควบคู่ไปกับข้อความอื่นๆ
- ฟังก์ชันจะต้องคืนค่าเมื่อดำเนินการเสร็จสิ้น
- ส่วนท้ายของฟังก์ชัน main()
- นิยามฟังก์ชัน เรากำลังกำหนดฟังก์ชัน addFunc() เราจะระบุว่าฟังก์ชันจะทำอะไรภายในร่างกายของมัน { }
- การประกาศตัวแปรจำนวนเต็มชื่อ addFunc
- การเพิ่มค่าของพารามิเตอร์ num1 และ num2 และกำหนดผลลัพธ์ให้กับตัวแปร addFunc
- ฟังก์ชัน addFunc() ควรส่งคืนค่าของตัวแปร addFunc
- จุดสิ้นสุดของเนื้อความของฟังก์ชัน นั่นคือ คำจำกัดความของฟังก์ชัน
สรุป
- ฟังก์ชั่นใน C++ ช่วยคุณจัดกลุ่มโค้ดที่เกี่ยวข้องให้เป็นหนึ่งเดียว
- ฟังก์ชันอำนวยความสะดวกในการใช้โค้ดซ้ำ
- แทนที่จะเขียนโค้ดที่คล้ายกันซ้ำแล้วซ้ำอีก คุณเพียงแต่จัดกลุ่มมันให้เป็นฟังก์ชัน จากนั้นคุณสามารถเรียกใช้ฟังก์ชันได้จากทุกที่ภายในโค้ด
- ฟังก์ชั่นสามารถเป็นไลบรารีหรือที่ผู้ใช้กำหนด
- ฟังก์ชั่น Library มีฟังก์ชั่นต่างๆ ในตัว C++ ฟังก์ชั่น.
- หากต้องการใช้ฟังก์ชันไลบรารี คุณเพียงแค่รวมไลบรารีคำจำกัดความและเรียกใช้ฟังก์ชันนั้น คุณไม่ได้กำหนดฟังก์ชัน
- ฟังก์ชันที่ผู้ใช้กำหนดคือฟังก์ชันที่คุณกำหนดเป็น a C++ โปรแกรมเมอร์.
- การประกาศฟังก์ชันจะบอกคอมไพลเลอร์เกี่ยวกับชื่อฟังก์ชัน ประเภทการส่งคืน และประเภทพารามิเตอร์
- คำจำกัดความของฟังก์ชันจะเพิ่มเนื้อความของฟังก์ชัน
- หากฟังก์ชันรับพารามิเตอร์ ควรส่งค่าของพารามิเตอร์เหล่านั้นในระหว่างการเรียกใช้ฟังก์ชัน