Download presentation
Presentation is loading. Please wait.
Published byBeatriz Frail Modified over 10 years ago
1
Functions ROBERT REAVES
2
Functions Interface – the formal description of what a subprogram does and how we communicate with it Encapsulation – Hiding a module implementation in a separate block with a formally specified interface. Module parameter list – a set of variables within a module that hold values that are either incoming to the module or outgoing to the caller, or both. Data flow – the direction of flow of information between the caller and a module through each parameter.
3
Communicating with a module Incoming values are values received from the caller. Outgoing values are values produced and returned to the caller. Incoming/outgoing values are values that the caller has that the module changes. (receives and returns.)
4
Writing functions void x(); This would come before main and is called the function prototype. Must include the data types of the parameters for this function. x(); This would be invoked where ever you needed to call your function, called function call. void x() { // some code. } This would come after main and the “some code” would be what your function did. Called the function definition.
5
Void Functions Do NOT return a value to caller. void x() { // after the name is the parameter list, this one is empty. // Some code here… } “void” signals the compiler that this is not a value-returning function. Can use inside function: return; // returns to the caller of the function immediately.
6
Function Parameters The code between parentheses that looks like a variable declaration, called parameter declaration. void x(int y, int t) { // int y and int t would be the parameter declaration. // some code. } Argument is a variable or expression listed in a call to a function. x(height, width); // height and width would be arguments. Parameter is a variable declared in a function definition.
7
Local Variables Local variable is a variable declared within a block and not accessible outside of that block. void x(); int main() { int x = 5; // local variable to main. x(); return 0; } void x() { cout << x << endl; // will say x is undefined, x is local to main. }
8
Parameters Value parameter – a parameter that receives a copy of the value of the corresponding argument. void x(int y); // y is a value parameter. Reference parameter – a parameter that receives the location (memory address) of the caller’s argument. void x(int& y); // y is a reference parameter.
9
Documentation Use preconditions and post-conditions as comments to document function interfaces. Pre is an assertion describing everything the function requires to be true at the moment the caller invokes the function. Post describes the state of the program the moment the function finishes executing. // Pre: sum has been assigned and count is greater than 0. // Post: The average has been output on one line. void PrintAverage(float sum, int count) { cout << “Average is “ << sum / float(count) << endl; }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.