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