Latest web development tutorials
×

C++ หลักสูตร

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

C++ เชิงวัตถุ

C++ คลาสและวัตถุ C++ สืบทอด C++ ผู้ประกอบการมากเกินไปและการทำงานมากเกินไป C++ polymorphism C++ ข้อมูลที่เป็นนามธรรม C++ ข้อมูล encapsulation C++ อินเตอร์เฟซ(ระดับนามธรรม)

C++ การสอนที่ทันสมัย

C++ แฟ้มและสตรีม C++ การจัดการข้อยกเว้น C++ หน่วยความจำแบบไดนามิก C++ namespaces C++ แบบ C++ preprocessor C++ การประมวลผลสัญญาณ C++ multithreading C++ Web โครงการ

C++ กรุ

C++ STL หลักสูตร C++ ห้องสมุดมาตรฐาน C++ ทรัพยากรที่มีประโยชน์

ฟังก์ชัน c ++

คือชุดของฟังก์ชั่นในการดำเนินพันธกิจร่วมกัน ทุกโปรแกรม C ++มีอย่างน้อยหนึ่งฟังก์ชั่นที่เป็นหลักของฟังก์ชั่นหลัก () โปรแกรมที่ง่ายทุกคนสามารถกำหนดฟังก์ชั่นอื่น ๆ เพิ่มเติม

คุณสามารถใส่รหัสลงในฟังก์ชั่นที่แตกต่างกัน วิธีการแบ่งรหัสลงในฟังก์ชั่นที่แยกจากกันขึ้นอยู่กับคุณที่จะตัดสินใจ แต่เหตุผลแบ่งออกมักจะดำเนินการในแต่ละฟังก์ชั่นขึ้นอยู่กับงานที่เฉพาะเจาะจงที่จะดำเนินการ

ประกาศฟังก์ชันบอกชื่อฟังก์ชันคอมไพเลอร์ชนิดกลับและพารามิเตอร์นิยามฟังก์ชันให้ร่างกายที่เกิดขึ้นจริงของการทำงาน

c ++ มาตรฐานห้องสมุดให้มากในตัวฟังก์ชั่นของโปรแกรมสามารถเรียก ยกตัวอย่างเช่นฟังก์ชันstrcat () ถูกนำมาใช้ในการเชื่อมต่อสองสายที่ memcpyฟังก์ชั่น()เพื่อคัดลอกหน่วยความจำไปยังตำแหน่งอื่น

มีฟังก์ชั่นหลาย ๆ ที่เรียกว่าเช่นวิธีการวิธีการหรือซับรูทีนและอื่น ๆ

ฟังก์ชั่นที่กำหนดไว้

รูปแบบทั่วไปของคำนิยามฟังก์ชัน c ++ เป็นดังนี้:

return_type function_name( parameter list )
{
   body of the function
}

ใน C ++, ฟังก์ชั่นประกอบด้วยส่วนหัวของฟังก์ชั่นและส่วนประกอบร่างกายทำงาน ข้างล่างนี้เป็นส่วนหนึ่งของการทำงาน:

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

ตัวอย่าง

ต่อไปนี้เป็นแม็กซ์ () ฟังก์ชันในรหัสที่มาฟังก์ชั่นนี้จะใช้เวลาสองพารามิเตอร์ 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