Glossary
--------

return type:
    The type of value a function returns.

return value:
    The value provided as the result of a function call.

dead code:
    Part of a program that can never be executed, often because it
    appears after a return statement.

scaffolding:
    Code that is used during program development but is not part of the
    final version.

void:
    A special return type that indicates a void function; that is, one
    that does not return a value.

overloading:
    Having more than one function with the same name but different
    parameters. When you call an overloaded function, C++ knows which
    version to use by looking at the arguments you provide.

boolean:
    A value or variable that can take on one of two states, often called
    :math:`true` and :math:`false`. In C++, boolean values can be stored
    in a variable type called bool.

flag:
    A variable (usually type bool) that records a condition or status
    information.

comparison operator:
    An operator that compares two values and produces a boolean that
    indicates the relationship between the operands.

logical operator:
    An operator that combines boolean values in order to test compound
    conditions.


.. dragndrop:: chapter_five_glossary_1
   :feedback: Try again!
   :match_1: return type|||The type of value a function returns.
   :match_2: return value|||The value provided as the result of a function call.
   :match_3: comparison operator|||An operator that compares two values and produces a boolean.
   :match_4: logical operator|||An operator that combines boolean values in order to test compound conditions.


.. dragndrop:: chapter_five_glossary_2
   :feedback: Try again!
   :match_1: dead code|||Part of a program that can never be executed.
   :match_2: scaffolding|||Code used during program development but not part of the final version.
   :match_3: overloading|||Having more than one function with the same name but different parameters.


.. dragndrop:: chapter_five_glossary_3
   :feedback: Try again!
   :match_1: boolean|||A value or variable that can take on one of two states, often called true and false.
   :match_2: flag|||A variable that records a condition or status information.
   :match_3: void|||A special return type that does not return a value.
