An Introduction to
Programming with C++
Fifth Edition
Chapter 10
Void Functions
Objectives
• Create a function that does not return a value
• Invoke a function that does not return a value
• Pass information, by reference, to a function
• Use void functions in a .NET C++ program
An Introduction to Programming with C++, Fifth Edition 2
Concept Lesson
• More About Functions
• Creating Void Functions
• Passing Variables to a Function
• Passing Variables By Value and By Reference
An Introduction to Programming with C++, Fifth Edition 3
More About Functions
• Use functions to avoid duplicating code
– They also allow large and complex programs to be
broken into small and manageable tasks
• main() is typically responsible for invoking each of
the other functions when needed
– Program-defined functions streamline main()
• Functions can be:
– Value-returning
– Void
An Introduction to Programming with C++, Fifth Edition 4
Creating Void Functions
• Void functions do not return a value after
completing their assigned tasks
– E.g., to display information (such as a title and
column headings) at the top of each page in a report
• Avoids repeating code several times in program
An Introduction to Programming with C++, Fifth Edition 5
Creating Void Functions (continued)
An Introduction to Programming with C++, Fifth Edition 6
Passing Variables to a Function
• A variable has both a value and a unique address
(memory location)
• You can pass either the variable’s value or its
address to the receiving function
– Pass by value
– Pass by reference
An Introduction to Programming with C++, Fifth Edition 7
Passing Variables By Value
• In a pass by value, the computer passes the
contents of the variable to the receiving function
– Receiving function is not given access to the
variable in memory
• It cannot change value stored inside variable
• By default, variables are passed by value in C++
An Introduction to Programming with C++, Fifth Edition 8
Passing Variables By Value
(continued)
An Introduction to Programming with C++, Fifth Edition 9
Passing Variables By Value
(continued)
An Introduction to Programming with C++, Fifth Edition 10
Passing Variables By Value
(continued)
An Introduction to Programming with C++, Fifth Edition 11
Passing Variables By Value
(continued)
An Introduction to Programming with C++, Fifth Edition 12
Passing Variables By Value
(continued)
An Introduction to Programming with C++, Fifth Edition 13
Passing Variables By Reference
• Passing a variable’s address is referred to as
passing by reference
– Receiving function has access to passed variable
– Use when you want receiving function to change
contents of variable
• To pass a variable by reference in C++
– Include an & before the name of the corresponding
formal parameter in receiving function’s header
• Called the address-of operator
An Introduction to Programming with C++, Fifth Edition 14
Passing Variables By Reference
(continued)
An Introduction to Programming with C++, Fifth Edition 15
Passing Variables By Reference
(continued)
An Introduction to Programming with C++, Fifth Edition 16
Passing Variables By Reference
(continued)
An Introduction to Programming with C++, Fifth Edition 17
Passing Variables By Reference
(continued)
An Introduction to Programming with C++, Fifth Edition 18
Passing Variables By Reference
(continued)
An Introduction to Programming with C++, Fifth Edition 19
Passing Variables By Value and
By Reference
• You can mix the way variables are passed when a
function is called, passing some by reference and
others by value
• Program in Figure 10-15 allows user to enter an
employee’s current salary and raise rate
– It then calculates and displays the employee’s raise
and new salary amounts
An Introduction to Programming with C++, Fifth Edition 20
Passing Variables By Value and
By Reference (continued)
An Introduction to Programming with C++, Fifth Edition 21
Passing Variables By Value and
By Reference (continued)
An Introduction to Programming with C++, Fifth Edition 22
Passing Variables By Value and
By Reference (continued)
An Introduction to Programming with C++, Fifth Edition 23
Passing Variables By Value and By
Reference (continued)
An Introduction to Programming with C++, Fifth Edition 24
Summary
• Functions can be:
– Value-returning
– Void
• Function header begins with void
• Pass by value: value stored inside variable is passed
to receiving function
• Pass by reference: variable’s address in memory is
passed to receiving function
– Receiving function can change variable’s contents
– Use & before corresponding formal parameter
An Introduction to Programming with C++, Fifth Edition 25
Application Lesson: Using Void
Functions in a C++ Program
• Lab 10.1: Stop and Analyze
• Lab 10.2
– Create program to calculate customer’s water bill
• Lab 10.3
– Modified program will use two void functions (rather
than one void function) to calculate the number of
gallons used and the water charge
• Lab 10.4: Desk-Check Lab
• Lab 10.5: Debugging Lab
An Introduction to Programming with C++, Fifth Edition 26