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