Lesson 03 - 03. Functions, Arrays, Strings and Parameter Passing - 01
Lesson 03 - 03. Functions, Arrays, Strings and Parameter Passing - 01
Functions, Arrays,
Strings and Parameter
Passing - 01
Oritented Object Programming C++: Chapter 03
1. Introduction C++
C++ vs C
Compilers, IDEs
2. C++ Language Basics
Types: int, float, double
Control Structures: if, for, while, switch-case…
I. Functions
Remind how to use functions
II. Function Overloading
What-When-How
III. Default Arguments
What-When-How
IV. Arrays
What-When-How
Function definition
<return type> <function name>(<argument list>)
{
<body of the function>
}
<return type> is void when the function return
no values
return statement used in the body to exit a function
and return a value.
In void functions, do not need the return
<argument list>: can be empty
Duy Tan University
6
I. Functions (cont.)
Example 01:
void showRectangle() {
cout << "****************" << endl;
cout << "* *" << endl;
cout << "* *" << endl;
cout << "****************" << endl;
}
Output
int main() {
****************
showRectangle(); * *
return 0; * *
****************
}
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
return x;
return y; Output
} The bigger number is 10
int main() {
int bigger, a = 2, b = 10;
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
8
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
return x;
return y;
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger ???
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
9
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
return x;
return y;
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger ???
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
10
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
return x;
y 10
return y;
x 2
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger ???
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
12
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
…. 10
return x;
y 10
return y;
x 2
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger ???
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
13
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
…. 10
return x;
y 10
return y;
x 2
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger ???
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
14
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
…. 10
return x;
return y;
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger 10
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
15
I. Functions (cont.)
Example 02:
int maxTwoNumbers(int x, int y) {
if (x > y)
Output
…. 10
return x;
return y; The bigger number is 10
} b 10
int main() { a 2
int bigger, a = 2, b = 10; bigger 10
bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
Duy Tan University
16
I. Functions (cont.)
Function Declaration
Describes the function interface to the compiler
When a function is called
• The compiler uses the template to ensure that proper
arguments are passed, and the return value is correctly
<return type> <function name>(<argument list>);
Examples:
int maxTwoNumbers(int x, int y);
int maxTwoNumbers(int, int);
void printOddNumbersFrom(int k);
Example 03:
int maxTwoNumbers(int x, int y);
int main() {
int a = 2, b = 10;
int bigger = maxTwoNumbers(a, b);
cout << "The bigger number is " << bigger;
return 0;
}
int maxTwoNumbers(int x, int y) {
if (x > y)
return x;
return y;
}
Duy Tan University
18
Contents
I. Functions
II. Function Overloading
III. Default Arguments
IV. Arrays
I. Functions
II. Function Overloading
III. Default Arguments
IV. Arrays
In C++ functions:
Arguments can have default values from right to left
Default values are specified when the function is declared.
The function assigns a default value to the parameter which
does not have a matching argument in the function call
Example:
int sum(int a, int b, int c = 0); // OK
int sum(int a, int b = 0, int c); // Not OK
int sum(int a, int b = 0, int c = 0);// OK
int sum(int a = 0, int b, int c = 0);//Not OK
Example 01:
float sum(float a, float b, float c = 0,
float d = 0) {
return (a + b + c + d);
Output
} sum(1.2, 4.5, 0, 0) 2.85
int main() { -0.766667
cout << sum(1.2, 4.5) << endl; 3.6
cout << sum(1.6, 3.6, -7.5) << endl;
cout << sum(4.5, 1.5, 6.5, 1.9)<< endl;
return 0;
}
getAverage(1.2, 4.5, -7.5, 0)
Example 02:
float sum(float, float, float = 0, float = 0);
int main() {
cout << sum(1.2, 4.5) << endl;
cout << sum(1.6, 3.6, -7.5) << endl;
cout << sum(4.5, 1.5, 6.5, 1.9)<< endl;
return 0;
}
float sum(float a, float b, float c, float d)
{
return (a + b + c + d);
}
I. Functions
II. Function Overloading
III. Default Arguments
IV. Arrays
int Fibonacci(int n) {
if (n == 1 || n == 2)
return 1;
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
int main() {
Output
cout << Fibonacci(5) << endl;
5
return 0;
}
I. Functions
II. Function Overloading
III. Default Arguments
IV. Arrays
Initializing arrays:
int arr1[4] = {5, 7, 1, 2};
0 1 2 3
arr1 5 7 1 2
arr2D[2][3]
int
arr2D[0]
int[4]
arr2D[2] arr2D[1][1]
int[4] int
Duy Tan University
49
IV. Arrays (cont.)
arr[2][0][2]
arr[0][1][0]
int
int
Duy Tan University
50
IV. Arrays (cont.)
2
1 9
2 3 2
4 7
5 2
6 0
7 0
8
arr[0] arr[1] arr[2] arr[3]
int[2] int[2] int[2] int[2]
I. Functions
II. Function Overloading
III. Default Arguments
IV. Arrays