ฟังก์ชั่น (Functions) C++
ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับฟังก์ชัน C++ และนิพจน์ฟังก์ชันโดยใช้ตัวอย่าง
ฟังก์ชันคือบล็อกของโค้ดที่ทำงานเฉพาะ สมมติว่าเราต้องสร้างโปรแกรมเพื่อสร้างวงกลมและระบายสี เราสามารถสร้าง 2 ฟังก์ชัน เพื่อแก้ปัญหานี้:
การแบ่งปัญหาที่ซับซ้อนออกเป็นส่วนย่อยๆ ทำให้โปรแกรมของเราเข้าใจง่ายและนำกลับมาใช้ใหม่ได้
- ฟังก์ชันวาดวงกลม
- ฟังก์ชันระบายสีวงกลม
ฟังก์ชั่นมีสองประเภท:
- ฟังก์ชันไลบรารีมาตรฐาน:กำหนดไว้ล่วงหน้าใน C++
- ฟังก์ชันที่ผู้ใช้กำหนด:สร้างโดยผู้ใช้
ในบทช่วยสอนนี้ เราจะเน้นไปที่ฟังก์ชันที่ผู้ใช้กำหนดเป็นส่วนใหญ่
C++ ฟังก์ชันที่ผู้ใช้กำหนด
C ++ อนุญาตให้โปรแกรมเมอร์กำหนดฟังก์ชันของตนเอง
โค้ดกลุ่มฟังก์ชันที่ผู้ใช้กำหนดเพื่อทำงานเฉพาะและกลุ่มของโค้ดนั้นจะได้รับชื่อ (identifier)
เมื่อเรียกใช้ฟังก์ชันจากส่วนใดส่วนหนึ่งของโปรแกรม ฟังก์ชันทั้งหมดจะรันโค้ดที่กำหนดไว้ในเนื้อหาของฟังก์ชัน
ประกาศฟังก์ชัน C++
ไวยากรณ์ในการประกาศฟังก์ชันคือ:
ชนิดข้อมูลที่จะส่งกลับ ชื่อฟังก์ชั่น(พารามิเตอร์) {
องค์ประกอบของฟังก์ชั่น
}
นี่คือตัวอย่างการประกาศฟังก์ชัน
void greet() {
cout << "Hello there!";
}
- ชื่อของฟังก์ชันคือ greet()
- ชนิดข้อมูลที่จะส่งกลับของฟังก์ชันคือ void
- วงเล็บว่างหมายความว่าไม่มีพารามิเตอร์ใด ๆ
- ตัวฟังก์ชันเขียนไว้ด้านใน {}
การเรียกใช้ฟังก์ชัน
ในโปรแกรมข้างต้น เราได้ประกาศฟังก์ชันที่ชื่อว่า greet()
ในการใช้ฟังก์ชัน greet() เราต้องเรียกใช้
ต่อไปนี้คือวิธีที่เราสามารถเรียกใช้ greet() ฟังก์ชันข้างต้นได้
int main() {
greet();
}

ตัวอย่างที่ 1: ฟังก์ชัน ไม่มีพารามิเตอร์ (parameter)
#include <iostream>
using namespace std;
void greet() {
cout << "Hello there!";
}
int main() {
greet();
return 0;
}

ตัวอย่างที่ 2: ฟังก์ชัน มีพารามิเตอร์ (parameter) 1 ตัวแปร
ตัวอย่างเช่น ให้เราพิจารณาฟังก์ชันด้านล่าง:
การทำงานของโปรแกรม คือ
- int main() เริ่มที่ฟังก์ชัน main
- int n = 7; ตัวแปร n เป็นชนิดข้อมูลเลขจำนวนเต็ม มีค่าเป็น 7
- printNum(n); เรียกใช้ฟังก์ชันชื่อ printNum มีค่าอาร์กิวเมนต์เป็น 7 ตามค่าตัวแปร n
- ฟังก์ชัน main ส่งค่า ค่าอาร์กิวเมนต์ (argument) ไปยัง พารามิเตอร์ ชื่อ num ของฟังก์ชัน printNum มีชนิดข้อมูลเลขจำนวนเต็ม
- cout << num; อ็อบเจกต์ cout แสดงเอาท์พุต พารามิเตอร์ num บนหน้าจอ

#include <iostream>
using namespace std;
void printNum(int num) {
cout << num;
}
int main() {
int n = 7;
printNum(n);
return 0;
}

ตัวอย่างที่ 3: ฟังก์ชัน มีพารามิเตอร์ (parameter) 2 ตัวแปร
ในโปรแกรมข้างล่าง เราได้ใช้ฟังก์ชันที่มี พารามิเตอร์ n1 คือ int และ พารามิเตอร์ n2 คือ double

- ฟังก์ชัน main ส่งค่า ค่าอาร์กิวเมนต์ num1 ไปยัง พารามิเตอร์ ชื่อ n1 ของฟังก์ชัน displayNum มีชนิดข้อมูลเลขจำนวนเต็ม
- ฟังก์ชัน main ส่งค่า ค่าอาร์กิวเมนต์ num2 ไปยัง พารามิเตอร์ ชื่อ n2 ของฟังก์ชัน displayNum มีชนิดข้อมูลเลขทศนิยม
#include <iostream>
using namespace std;
void displayNum(int n1, double n2) {
cout << "The int number is " << n1 << endl;
cout << "The double number is " << n2 << endl;
}
int main() {
int num1 = 5;
double num2 = 5.5;
displayNum(num1, num2);
return 0;
}
