การใช้ฟังก์ชั่น
ในบทนี้เราจะมาพูดถึงการใช้ฟังก์ชั่นกันนะครับ
|
|
|
|
#include <iostream.h>
void set(int arm,int leg,float height);
int main()
{
int arm=2;
int leg=2;
float height=170.5;
set(arm,leg,height);
set(5,4,15.6);
return 0;
}
void set(int arm,int leg,float height)
{
cout<<"There are "<<arm<<" arms "<<leg<<" legs and "<<height<<"\n";
}
|
|
|
|
|
[Download Code]
จากตัวอย่างจะเห็นถึงวิธีการใช้ฟังก์ชั่นนะครับ
โดยเราให้ชื่อฟังก์ชั่นนี้ว่า set ครับ ส่วนคำสั่งข้างในก็เป็นการสร้างตัวแปรขึ้นมาใช้ภายในฟังก์ชั่น
ส่วนวิธีการเรียกใช้ก็มีในส่วนของเมนนะครับ โดยการเรียกใช้นีต้องมีตัวแปรเท่ากับที่เรากำหนดในตอนแรกของการสร้างฟังก์ชั่นครับ
เมื่อเราเรียกใช้ฟังก์ชั่น ตัวแปรที่เราป้อนเข้าไปก็จะถูกส่งค่าไปให้ตัวแปรที่เราสร้างขึ้นมาเพื่อใช้ในฟังก์ชั่นครับ
เช่น คำสั่ง set(arm,leg,height) ค่าของตัวแปร arm ก็จะถูกส่งไปให้ตัวแปร
arm ภายในฟังก์ชั่นครับ และ set(5,4,15,6) ค่าของ 5 ก็จะถูกส่งไปให้ตัวแปร
arm ภายในฟังก์ชั่นครับ
ส่วนช่วงสุดท้าย หลังจากจบส่วนของเมนแล้วเราก็จะมาขึ้นส่วนของฟังก์ชั่นว่าจะให้ทำอะไรบ้าง
อันนี้คงไม่ต้องอธิบายแล้วนะครับ
|
|
|
|
#include <iostream.h>
void set(int arm,int leg,float height);
int main()
{
int arm=2;
int leg=2;
float height=170.5;
cout<<"There are "<<arm<<" arms "<<leg<<" legs and "<<height<<"\n";
set(arm,leg,height);
cout<<"There are "<<arm<<" arms "<<leg<<" legs and "<<height<<"\n";
return 0;
}
void set(int arm,int leg,float height)
{
arm=arm+10;
leg=leg+50;
cout<<"There are "<<arm<<" arms "<<leg<<" legs and "<<height<<"\n";
}
|
|
|
|
|
[Download Code]
ตัวอย่างนี้จะคล้ายกับตัวอย่างแรกนะครับ
แต่จะต่างกันตรงที่ในส่วนของฟังก์ชั่นที่จะมีการเพิ่มค่าก่อนแล้วจึงพิมพ์ออกมา
หลังจาก Run แล้วจะเห็นว่าค่าที่ส่งไปให้ใช้ในฟังก์ชั่นนั้น เป็นเพียงค่าที่ส่งไปใช้ในฟังก์ชั่นเท่านั้น
ถึงแม้ว่าจะมีการเปลี่ยนค่าในฟังก์ชั่นแต่ค่าจริงๆ ก็ไม่ได้ถูกเปลี่ยนไปด้วย
ดูดีๆนะครับ
ฟังก์ชั่นที่มีการส่งค่ากลับ
|
|
|
|
#include <iostream.h>
int square(int in);
int main()
{
int index=5;
cout<<square(12)<<"\n";
cout<<square(index);
return 0;
}
int square(int in)
{
return in*in;
}
|
|
|
|
|
[Download Code]
ตามปกติในการเขียนฟังก์ชั่นเราจะใช้คำสั่ง
void แต่หากต้องการให้ฟังก์ชั่นส่งค่ากลับด้วยก็ต้องใช้คำสั่งอื่นแทนเช่น
int, float, char ครับ
ในตัวอย่างนี้ผมจะใช้ int นะครับ ค่าที่ส่งกลับก็เป็นแบบ
integer ในส่วนของเมนก็ไม่มีอะไรครับ ส่วนๆของฟังก์ชั่นเราก็จะใช้คำสั่ง
return ในการส่งค่ากลับค่ากลับครับ
การตั้งค่าปกติให้กับตัวแปรภายในฟังก์ชั่น
|
|
|
|
#include <iostream.h>
int get(int in1=5,int in2=10,int in3=15);
int main()
{
int one=7,two=8;
cout<<get(one,two,9)<<"\n";
cout<<get(one,two)<<"\n";
cout<<get(one)<<"\n";
cout<<get()<<"\n";
return 0;
}
int get(int in1,int in2,int in3)
{
return in1+in2+in3;
}
|
|
|
|
|
[Download Code]
นี่ก็คือวิธีการตั้งค่าปกติให้กับตัวแปรภายในฟังก์ชั่นครับ
ถ้าหากว่าเราเรียกใช้ฟังก์ชั่นโดยให้ตัวแปรไม่ครบ โปรแกรมก็จะไปเรียกค่าปกติมาใช้แทนครับ
การใช้ฟังก์ชั่นที่มีชื่อเหมือนกัน
|
|
|
|
#include <iostream.h>
int get(int in);
float get(float in);
float get(int in1,float in2);
int main()
{
int one=10;
float two=5.5;
cout<<get(one)<<"\n";
cout<<get(two)<<"\n";
cout<<get(one,two)<<"\n";
return 0;
}
int get(int in)
{
return in*in;
}
float get(float in)
{
return in+5;
}
float get(int in1,float in2)
{
return in1+in2;
}
|
|
|
|
|
[Download Code]
จากตัวอย่างนี้หลังจากโปรแกรมตรวจเจอว่ามีการใช้ฟังก์ชั่นชื่อเหมือนกัน
มันก็จะไปตรวจดูการกำหนดตัวแปรแล้วก็จะไปเรียกฟังก์ชั่นที่ตรงกับตัวแปรนั้นครับ
|