Ebben az oktatóanyagban példák segítségével megismerhetjük a C ++ verzióban lévő háromszintű operátort.
A C ++ - ban a háromfázisú operátor (más néven feltételes operátor ) használható helyettesítésre, ha… más esetben bizonyos esetekben.
Ternary Operator C ++ nyelven
A háromszintű operátor kiértékeli a tesztfeltételt és végrehajt egy kódblokkot a feltétel eredménye alapján.
Szintaxisa az
condition ? expression1 : expression2;
Itt condition
értékelik és
- ha
condition
vantrue
,expression1
akkor végrehajtják. - És ha
condition
vanfalse
,expression2
akkor végrehajtják.
A hármas operátor 3 operandusot vesz fel ( condition
, expression1
és expression2
). Ezért a háromlagos operátor neve .
Példa: C ++ Ternary Operator
#include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )
1. kimenet
Írja be a pontszámait: 80 letette a vizsgát.
Tegyük fel, hogy a felhasználó 80-at ír be . Ezután az állapot marks>= 40
kiértékelődik true
. Ezért az első kifejezés "passed"
az eredményhez van rendelve.
2. kimenet
Írja be a pontszámokat: 39.5 Nem sikerült a vizsga.
Tegyük fel, hogy a felhasználó a 39.5-et írja be . Ezután az állapot marks>= 40
kiértékelődik false
. Ezért a második kifejezést "failed"
az eredményhez rendeljük.
Mikor kell használni a Ternary Operator-t?
A C ++ nyelven a háromszintű operátor használható bizonyos típusú if… else
utasítások helyettesítésére .
Például kicserélhetjük ezt a kódot
#include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )
val vel
#include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )
Kimenet
Negatív szám!
Itt mindkét program ugyanazt a kimenetet adja. A háromszintű operátor használata azonban kódunkat olvashatóbbá és tisztábbá teszi.
Megjegyzés: Csak akkor használjuk a hármas operátort, ha az eredményül kapott utasítás rövid.
Beágyazott terner operátorok
Lehetőség van arra is, hogy egy hármas operátort használjon egy másik hármas operátoron belül. C ++ - ban beágyazott ternáris operátornak hívják.
Itt van egy program, amely a beágyazott ternáris operátor segítségével megállapítja, hogy egy szám pozitív, negatív vagy nulla.
#include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )
Kimenet
A szám nulla
A fenti példában vegye figyelembe a hármas operátorok használatát,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Itt,
(number == 0)
az első tesztfeltétel, amely ellenőrzi, hogy a szám 0-e vagy sem. Ha igen, akkor"Zero"
az eredményhez hozzárendeli a karakterlánc értékét .- Egyébként a második tesztfeltételt
(number> 0)
értékelik, ha az első feltétel teljesülfalse
.
Megjegyzés : Nem ajánlott beágyazott terner operátorokat használni. Ennek oka, hogy bonyolultabbá teszi a kódunkat.