<< Chapter < Page Chapter >> Page >
An introduction to the conditional operator as used within the C++ programming language.

Overview

The conditional operator is unique in that it has three operands separated by two unconnected operator symbols. All other C++ operators are either unary (one operator and one operand) or binary (one operator and two operands).  On the "Abbreviated Precedence Chart for C++ Operators" the conditional operator has the word "trinary" in the comments column.  This prefix "tri" means three, thus three operands.

C++ Operator Meaning Comments
? : conditional trinary – three operands with two operators

As an operator it produces a value for the expression. An easy way to explain the conditional operator is to convert an "if then else" control structure to an expression using the conditional operator.

If then else

if (age>17) {cout<<"You can vote."; }else {cout<<"You can’t vote."; }

Got questions? Get instant answers now!

Conditional = option 1

age>17 ? cout<<"You can vote." : cout<<"You can’t vote.";

Got questions? Get instant answers now!

Conditional = option 2

cout<<(age>17 ? "You can vote." : "You can’t vote.");

The use of parenthesizes is needed because of the precedence of operators. The conditional expression is of lower precedence than the insertion (writing) operator.

Got questions? Get instant answers now!

The first operand is a test expression similar to those that control program flow in control structures. This type of expression is also known as a Boolean expression because they create a Boolean answer of true or false. If the test is true the second operand becomes the value of the expression. If false, the third operand becomes the value of the expression. The operators of the question mark and colon separate the three operands.

General format

test expression ? expression true : expression false

Got questions? Get instant answers now!

Definitions

conditional
A trinary C++ operator that acts like an if then else control structure.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Programming fundamentals - a modular structured approach using c++. OpenStax CNX. Jan 10, 2013 Download for free at http://cnx.org/content/col10621/1.22
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Programming fundamentals - a modular structured approach using c++' conversation and receive update notifications?

Ask