กำหนดให้เป็นหน้าที่แสดงการทำงานของฟังก์ชัน Ratio_less () ใน C++
ฟังก์ชัน Ratio_less() ตรวจสอบว่าค่าของ Ratio1 น้อยกว่า Ratio2 หรือไม่ คืนค่า "ค่าคงที่บูลีน" ซึ่งคืนค่า จริง หาก Ratio1 น้อยกว่า Ratio2 มิฉะนั้นคืนค่าเท็จ
ตัวอย่าง
Input: 1/3 and 3/9 Output: 1/3 is less than 3/9. Input: 1/4 and 1/8 Output: 1/4 is not less than 1/8.
ไวยากรณ์
Template <ratio1, ratio2> ratio_less
พารามิเตอร์
ฟังก์ชันนี้ยอมรับพารามิเตอร์เทมเพลตสองแบบ อันแรกคืออัตราส่วน 1 และอีกอันคืออัตราส่วน 2 ซึ่งจะถูกเปรียบเทียบ
คำอธิบาย
ในฟังก์ชันนี้ หากค่าของ Ratio1 น้อยกว่าค่า Ratio2 ฟังก์ชันนี้จะคืนค่า Boolean ซึ่งเป็นจริง เช่น เลขจำนวนเต็ม 1 มิฉะนั้นจะคืนค่าเท็จ เช่น เลขจำนวนเต็ม 0
คำอธิบายของ typedef:Typedef ใช้เพื่อตั้งชื่อใหม่ให้กับข้อมูลในโปรแกรมนี้ เราใช้ typedef เพื่อประกาศอัตราส่วน Typedef สร้างนามแฝงที่สามารถใช้ได้ทุกที่แทนชื่อประเภท อาจประกาศตัวระบุหนึ่งตัวหรือหลายตัวในบรรทัดเดียวกัน และยังสามารถใช้ประกาศประเภทอาร์เรย์และฟังก์ชัน พอยน์เตอร์ การอ้างอิง ประเภทคลาส เป็นต้น
แนวทางที่เราใช้ในโปรแกรมด้านล่าง
-
ขั้นแรก เราประกาศอัตราส่วนทั้งสอง
-
แล้วกำหนดค่าของอัตราส่วนทั้งสอง
-
จากนั้นเราตรวจสอบว่าค่าของอัตราส่วน 1 น้อยกว่าค่าอัตราส่วน 2 หรือไม่
-
โดยใช้ Ratio_less เราตรวจสอบได้ว่า
ตัวอย่าง
// C++ code to demonstrate the working of ratio_less #include<iostream> #include<ratio> Using namespace std; int main( ){ typedef ratio<1, 3> ratio1; typedef ratio<1, 2> ratio2; if(ratio_less<ratio1, ratio2>: : value) cout<< “ ratio1 is less than ratio2”; else cout<< “ ratio1 is not less than ratio2”; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
1/3 is less than 1/2. 1/3 is not less than 1/5.