introduced new book

This commit is contained in:
2026-03-05 18:36:59 -06:00
parent 19e0cc3652
commit 4ab2f02b7d
2 changed files with 41 additions and 2 deletions

View File

@@ -36,11 +36,41 @@ int square(int x) {
Function abstraction is the ability to make a function easy to use without understanding exactly how the function works line by line. This makes it easy for other people to use your code faster. It is a good practice to make your code easy to use for other people. Function abstraction is the ability to make a function easy to use without understanding exactly how the function works line by line. This makes it easy for other people to use your code faster. It is a good practice to make your code easy to use for other people.
## Default arguments ## Default arguments
--------------------
Suppose you want a function to occassionaly not have values for parameters explicitly define, you can set a default value for your parameters within your function. Suppose you want a function to occassionaly not have values for parameters explicitly define, you can set a default value for your parameters within your function.
```c++ ```c++
void average(float num1 = 3, float num2 = 3, float num3 = 3); void average(float num1 = 3, float num2 = 3, float num3 = 3);
``` ```
In this example, the default parameters were create in the function prototype. Suppose you call the function by `average();`, then without passing and values, num1, num2, and num3 were all initialized with 3 as we have define in the prototype. Default arguments also work with just one parameter. You can set whatever parameter you want to have a default argument. Also, as long as the default argument is defined in the prototype, you should not include it in the definition. __Keep in mind, default arguments must be at the end of the parameter list.__ In this example, the default parameters were create in the function prototype. Suppose you call the function by `average();`, then without passing and values, num1, num2, and num3 were all initialized with 3 as we have define in the prototype. Default arguments also work with just one parameter. You can set whatever parameter you want to have a default argument. Also, as long as the default argument is defined in the prototype, you should not include it in the definition. __Keep in mind, default arguments must be at the end of the parameter list.__ Also __you cannot use default arguments with non-constant pass by reference types__.
## Function overloading
-----------------------
Function overloading lets you use functions with the same name but contain different parameters.
```c++
void display(string message) {
std::cout << message << '\n';
}
void display(int data) {
std::cout << data << '\n';
}
```
Having both of these definitions is an example of function overloading. The implementation of this is quite simple.
Rules for modifying function signatures:
1. # of parameters
2. Parameter data types
3. Pass by value / Pass by reference
- __Does not change signature__
4. Addition of const modifier
- __Only changes signature when using Pass-by-reference__
5. Introducing default arguments
- __Does not change signature_
6. Modifying return types

View File

@@ -0,0 +1,9 @@
+++
date = '2026-03-05T18:36:18-06:00'
draft = false
title = 'Game Theory Notes'
layout = 'frontcover'
type = 'book'
tags = 'gametheory'
chapterno = 0
+++