บทช่วยสอน ฟังก์ชัน c ++ ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ฟังก์ชั่นที่กำหนดไว้,ตัวอย่าง,ประกาศฟังก์ชัน,ฟังก์ชันการโทร,อาร์กิวเมนต์ของฟังก์ชัน,ค่าเริ่มต้นของพารามิเตอร์,
คือชุดของฟังก์ชั่นในการดำเนินพันธกิจร่วมกัน ทุกโปรแกรม C ++มีอย่างน้อยหนึ่งฟังก์ชั่นที่เป็นหลักของฟังก์ชั่นหลัก () โปรแกรมที่ง่ายทุกคนสามารถกำหนดฟังก์ชั่นอื่น ๆ เพิ่มเติม
คุณสามารถใส่รหัสลงในฟังก์ชั่นที่แตกต่างกัน วิธีการแบ่งรหัสลงในฟังก์ชั่นที่แยกจากกันขึ้นอยู่กับคุณที่จะตัดสินใจ แต่เหตุผลแบ่งออกมักจะดำเนินการในแต่ละฟังก์ชั่นขึ้นอยู่กับงานที่เฉพาะเจาะจงที่จะดำเนินการ
ประกาศฟังก์ชันบอกชื่อฟังก์ชันคอมไพเลอร์ชนิดกลับและพารามิเตอร์นิยามฟังก์ชันให้ร่างกายที่เกิดขึ้นจริงของการทำงาน
c ++ มาตรฐานห้องสมุดให้มากในตัวฟังก์ชั่นของโปรแกรมสามารถเรียก ยกตัวอย่างเช่นฟังก์ชันstrcat () ถูกนำมาใช้ในการเชื่อมต่อสองสายที่ memcpyฟังก์ชั่น()เพื่อคัดลอกหน่วยความจำไปยังตำแหน่งอื่น
มีฟังก์ชั่นหลาย ๆ ที่เรียกว่าเช่นวิธีการวิธีการหรือซับรูทีนและอื่น ๆ
รูปแบบทั่วไปของคำนิยามฟังก์ชัน c ++ เป็นดังนี้:
return_type function_name( parameter list ) { body of the function }
ใน C ++, ฟังก์ชั่นประกอบด้วยส่วนหัวของฟังก์ชั่นและส่วนประกอบร่างกายทำงาน ข้างล่างนี้เป็นส่วนหนึ่งของการทำงาน:
ต่อไปนี้เป็นแม็กซ์ () ฟังก์ชันในรหัสที่มาฟังก์ชั่นนี้จะใช้เวลาสองพารามิเตอร์ num1 และ num2 ซึ่งจะกลับมาใหญ่ของทั้งสองตัวเลขนับ:
// 函数返回两个数中较大的那个数 int max(int num1, int num2) { // 局部变量声明 int result; if (num1 > num2) result = num1; else result = num2; return result; }
ประกาศฟังก์ชันบอกชื่อฟังก์ชันคอมไพเลอร์และวิธีการเรียกใช้ฟังก์ชันร่างกายที่เกิดขึ้นจริงของการทำงานสามารถกำหนดเป็นรายบุคคล
ประกาศฟังก์ชั่นรวมถึงส่วนต่อไปนี้:
return_type function_name( parameter list );
ที่กำหนดไว้ข้างต้นสำหรับแม็กซ์ฟังก์ชั่น () ดังต่อไปนี้คือการประกาศฟังก์ชั่น:
int max(int num1, int num2);
ในการประกาศฟังก์ชันชื่อของพารามิเตอร์ไม่สำคัญเพียงพารามิเตอร์ชนิดเป็นสิ่งจำเป็นดังนั้นต่อไปนี้เป็นคำสั่งที่ถูกต้อง:
int max(int, int);
เมื่อคุณกำหนดฟังก์ชั่นในแฟ้มแหล่งที่มาและเรียกใช้ฟังก์ชันในแฟ้มอื่นการประกาศฟังก์ชันเป็นสิ่งจำเป็น ในกรณีนี้คุณควรโทรด้านบนของไฟล์ฟังก์ชั่นการประกาศฟังก์ชัน
เมื่อคุณสร้างฟังก์ชั่น C ++ ที่กำหนดสิ่งที่ฟังก์ชั่นทำแล้วทำงานให้เสร็จสมบูรณ์โดยการเรียกฟังก์ชั่นที่ได้รับการกำหนด
เมื่อโปรแกรมเรียกฟังก์ชั่นการควบคุมโปรแกรมจะถูกโอนไปยังฟังก์ชั่นที่เรียกว่า เมื่อฟังก์ชั่นดำเนินงานที่กำหนดไว้ที่เรียกเมื่อคำสั่งตอบแทนการทำงานที่จะดำเนินการหรือการเข้าถึงฟังก์ชั่นที่สิ้นสุดวงเล็บโปรแกรมจะกลับมาควบคุมโปรแกรมหลัก
เมื่อคุณเรียกใช้ฟังก์ชันผ่านพารามิเตอร์ที่จำเป็นถ้าฟังก์ชั่นส่งกลับค่าคุณสามารถเก็บค่าตอบแทน ตัวอย่างเช่น:
#include <iostream> using namespace std; // 函数声明 int max(int num1, int num2); int main () { // 局部变量声明 int a = 100; int b = 200; int ret; // 调用函数来获取最大值 ret = max(a, b); cout << "Max value is : " << ret << endl; return 0; } // 函数返回两个数中较大的那个数 int max(int num1, int num2) { // 局部变量声明 int result; if (num1 > num2) result = num1; else result = num2; return result; }
แม็กซ์ () ฟังก์ชันและ function () หลักคือการใส่ชิ้นรวบรวมซอร์สโค้ด เมื่อคุณเรียกใช้แฟ้มที่ปฏิบัติการขั้นสุดท้ายจะให้ผลลัพธ์ที่ต่อไปนี้:
Max value is : 200
หากคุณต้องการใช้พารามิเตอร์ของฟังก์ชันที่คุณจะต้องประกาศตัวแปรที่จะยอมรับค่าพารามิเตอร์ตัวแปรเหล่านี้เป็นที่รู้จักกันอย่างเป็นทางการพารามิเตอร์ของฟังก์ชัน
เช่นเดียวกับรูปแบบอื่น ๆ ของพารามิเตอร์ตัวแปรท้องถิ่นภายในฟังก์ชั่นจะถูกสร้างขึ้นเมื่อเข้าสู่ฟังก์ชั่นออกจากฟังก์ชั่นจะถูกทำลาย
เมื่อฟังก์ชั่นที่เรียกว่ามีสองวิธีที่จะผ่านพารามิเตอร์ให้กับฟังก์ชัน:
调用类型 | 描述 |
---|---|
传值调用 | 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。 |
指针调用 | 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
引用调用 | 该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
โดยค่าเริ่มต้น, C ++โดยใช้สายโดยการส่งผ่านพารามิเตอร์โดยทั่วไปนี้หมายความว่ารหัสภายในฟังก์ชั่นไม่สามารถเปลี่ยนพารามิเตอร์ที่ใช้ในการเรียกใช้ฟังก์ชัน ตัวอย่างที่กล่าวถึงก่อนที่จะโทรแม็กซ์ฟังก์ชั่น () เมื่อใช้วิธีการเดียวกัน
เมื่อคุณกำหนดฟังก์ชั่นที่คุณสามารถระบุค่าเริ่มต้นสำหรับแต่ละพารามิเตอร์ในรายการพารามิเตอร์ที่อยู่เบื้องหลัง เมื่อฟังก์ชั่นที่เรียกว่าถ้าค่าของพารามิเตอร์ที่เกิดขึ้นจริงถูกปล่อยว่างแล้วใช้ค่าเริ่มต้น
นี้จะกระทำโดยผู้ประกอบการที่ได้รับมอบหมายในการกำหนดนิยามฟังก์ชันเป็นพารามิเตอร์ เมื่อฟังก์ชั่นที่เรียกว่าถ้าค่าของพารามิเตอร์ไม่ผ่านก็จะใช้ค่าเริ่มต้นถ้ามีค่าที่มีการระบุค่าเริ่มต้นจะถูกละเว้นการใช้ค่าผ่าน พิจารณาตัวอย่างต่อไปนี้:
#include <iostream> using namespace std; int sum(int a, int b=20) { int result; result = a + b; return (result); } int main () { // 局部变量声明 int a = 100; int b = 200; int result; // 调用函数来添加值 result = sum(a, b); cout << "Total value is :" << result << endl; // 再次调用函数 result = sum(a); cout << "Total value is :" << result << endl; return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
Total value is :300 Total value is :120