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:

ฟังก์ชั่นในตัว

นี่คือภาพหน้าจอของรหัส:

ฟังก์ชั่นในตัว

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโปรแกรมของเราเพื่อใช้ฟังก์ชันต่างๆ
  2. รวมไลบรารี cmath เพื่อใช้ฟังก์ชันต่างๆ เราต้องการใช้ฟังก์ชัน sqrt() ที่กำหนดไว้
  3. รวมเนมสเปซมาตรฐานไว้ในโค้ดของเราเพื่อใช้คลาสโดยไม่ต้องเรียกมัน
  4. เรียกใช้ฟังก์ชัน main() ควรเพิ่มตรรกะของโปรแกรมภายในเนื้อหาของฟังก์ชันนี้
  5. ประกาศตัวแปร double สองตัวคือ num และ squareRoot
  6. พิมพ์ข้อความบนคอนโซล ข้อความขอให้ผู้ใช้ป้อนตัวเลข
  7. อ่านอินพุตของผู้ใช้จากแป้นพิมพ์ อินพุตจะกลายเป็นค่าของตัวแปร num
  8. เรียกใช้ฟังก์ชันไลบรารี sqrt() ซึ่งคำนวณรากที่สองของตัวเลข เราส่งพารามิเตอร์ num ไปยังฟังก์ชัน ซึ่งหมายความว่าฟังก์ชันจะคำนวณรากที่สองของ num ฟังก์ชันนี้ถูกกำหนดไว้ในไลบรารี cmath
  9. พิมพ์ตัวเลขที่ผู้ใช้ป้อน รากที่สอง และข้อความอื่นๆ บนคอนโซล
  10. โปรแกรมจะต้องคืนค่าเมื่อเสร็จสิ้นสำเร็จ
  11. ส่วนท้ายของฟังก์ชัน main()

ฟังก์ชันที่ผู้ใช้กำหนด

C++ อนุญาตให้โปรแกรมเมอร์กำหนดฟังก์ชันของตนเอง วัตถุประสงค์ของฟังก์ชันคือเพื่อจัดกลุ่มโค้ดที่เกี่ยวข้อง จากนั้นโค้ดจะได้รับตัวระบุเฉพาะ ชื่อฟังก์ชัน

สามารถเรียกใช้/เรียกใช้ฟังก์ชันจากส่วนอื่นๆ ของโปรแกรมได้ จากนั้นจะรันโค้ดที่กำหนดไว้ภายในเนื้อความ

2 ตัวอย่าง:

#include <iostream>
using namespace std;

void sayHello() {
	cout << "Hello!";
}

int main() {

	sayHello();

	return 0;
}

Output:

ฟังก์ชันที่ผู้ใช้กำหนด

นี่คือภาพหน้าจอของรหัส:

ฟังก์ชันที่ผู้ใช้กำหนด

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโปรแกรมของเราเพื่อใช้ฟังก์ชันต่างๆ
  2. รวมเนมสเปซมาตรฐานไว้ในโค้ดของเราเพื่อใช้คลาสโดยไม่ต้องเรียกมัน
  3. สร้างฟังก์ชันที่ผู้ใช้กำหนดชื่อ sayHello()
  4. พิมพ์ข้อความบนคอนโซลเมื่อมีการเรียกใช้ฟังก์ชัน sayHello()
  5. ส่วนท้ายของฟังก์ชัน sayHello()
  6. เรียกใช้ฟังก์ชัน main() ควรเพิ่มตรรกะของโปรแกรมภายในเนื้อหาของฟังก์ชันนี้
  7. โทร/เรียกใช้ฟังก์ชันชื่อ sayHello()
  8. โปรแกรมจะต้องคืนค่าเมื่อเสร็จสิ้นสำเร็จ
  9. ส่วนท้ายของฟังก์ชัน 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:

ผ่านข้อโต้แย้ง

นี่คือภาพหน้าจอของรหัส:

ผ่านข้อโต้แย้ง

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโปรแกรมของเราเพื่อใช้ฟังก์ชันต่างๆ
  2. รวมเนมสเปซมาตรฐานไว้ในโค้ดของเราเพื่อใช้คลาสโดยไม่ต้องเรียกมัน
  3. ประกาศฟังก์ชันชื่อ addFunc() ที่รับพารามิเตอร์จำนวนเต็มสองตัว สิ่งนี้จะสร้างต้นแบบฟังก์ชัน
  4. เรียกใช้ฟังก์ชัน main() ควรเพิ่มตรรกะของโปรแกรมภายในเนื้อหาของฟังก์ชันนี้
  5. ประกาศตัวแปรจำนวนเต็ม 3 ตัว ได้แก่ x, y และผลรวม
  6. พิมพ์ข้อความบนคอนโซล ข้อความจะขอให้ผู้ใช้ป้อนตัวเลขสองตัว
  7. อ่านข้อมูลที่ผู้ใช้ป้อนจากแป้นพิมพ์ ผู้ใช้ควรป้อนตัวเลขสองตัวสำหรับตัวแปร x และ y โดยคั่นด้วยช่องว่าง
  8. เรียกใช้ฟังก์ชัน addFunc() และส่งพารามิเตอร์ x และ y ให้กับฟังก์ชัน ฟังก์ชันจะดำเนินการกับพารามิเตอร์เหล่านี้และกำหนดเอาต์พุตให้กับตัวแปร sum
  9. พิมพ์ค่าของตัวแปร x, y และผลรวมบนคอนโซลควบคู่ไปกับข้อความอื่นๆ
  10. ฟังก์ชันจะต้องคืนค่าเมื่อดำเนินการเสร็จสิ้น
  11. ส่วนท้ายของฟังก์ชัน main()
  12. นิยามฟังก์ชัน เรากำลังกำหนดฟังก์ชัน addFunc() เราจะระบุว่าฟังก์ชันจะทำอะไรภายในร่างกายของมัน { }
  13. การประกาศตัวแปรจำนวนเต็มชื่อ addFunc
  14. การเพิ่มค่าของพารามิเตอร์ num1 และ num2 และกำหนดผลลัพธ์ให้กับตัวแปร addFunc
  15. ฟังก์ชัน addFunc() ควรส่งคืนค่าของตัวแปร addFunc
  16. จุดสิ้นสุดของเนื้อความของฟังก์ชัน นั่นคือ คำจำกัดความของฟังก์ชัน

สรุป

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