C++ Language

พหุลักษณ์(Polymorphism)


คุณสมบัติข้อนี้เป็นคุณสมบัติที่ดีมากของการเขียนโปรแกรมแบบOOPอีกคุณสมบัติหนึ่ง
คือมันสามารถทำให้ชื่อเพียงชื่อเดียว สามารถทำงานได้หลายอย่างขึ้นอยู่กับชนิดของข้อมูลที่ส่งมา
ตัวอย่างเช่นการหาค่ายกกำลังของข้อมูลที่แตกต่างกัน 3 ชนิด ประกอบด้วยข้อมูลที่เป็น integer
,double และ long จะทำได้โดยเขียน function ขึ้นมา 3 ฟังก์ชัน ให้มีชื่อเดียวกัน แต่มีข้อมูลที่
ส่งมาทำงานแตกต่างกัน ฟังก์ชันที่ชื่อซำกันฟังก์ชันใดจะทำงานก็ขึ้นอยู่กับค่าที่ส่งมา
เช่นถ้าค่าที่ส่งมาเป็น integer ฟังก์ชันหาค่าเลขยกกำลัง(power)ที่มีค่าข้อมูลเป็น integer ก็จะทำงาน
ตัวอย่าง
แสดงการใช้ฟังก์ชันชื่อ pow เป็นฟังก์ชัน overloading หาค่าเลขยกกำลังของข้อมูล3ชนิด
Input
#include"conio.h"
#include"iostream.h"
 //pow is overloaded three ways.
int pow(int i);
double pow(double d);
long pow(long l);
main()
{
clrscr();
cout<< pow(10) << "\n";
cout<< pow(15.0) << "\n";
cout<< pow(9L) << "\n";
}
int pow(int i)
{
cout<< "This is an integer argument.";
return i*i;
}
double pow(double d)
{
cout<< "This is a double argument.";
return d*d;
}
Output
This is an integer argument. 100
This is a double argument.225
This is a long argument.81



next page