vault backup: 2022-09-05 10:34:46

This commit is contained in:
Jet Hughes 2022-09-05 10:34:46 +12:00
parent 4ba9f6c861
commit 707a9cbb66
2 changed files with 30 additions and 0 deletions

View File

@ -4,6 +4,9 @@ aliases:
tags:
- cosc204
- lecture
sr-due: 2022-09-08
sr-interval: 3
sr-ease: 250
---
compiler ⇒ converts high level language description of program into assembly description of the program
@ -43,6 +46,7 @@ pointers to routines can beused anyqhere variables can
![|200](https://i.imgur.com/cwjCgBg.png)
# modules
we can break programs into functional modules
- each modules excapsulates one behaviour
- give us a way of data hiding
@ -53,3 +57,28 @@ add pointer to structs as parameters to methods in modules
- so that the implementation details are hidden
![queue ADT|400](https://i.imgur.com/pk2kOE2.png)
method in this struct are "black box"
we gain
- abstraction
- our queue has a print method, so could out stack, tree, and so on
- we call ob->print() without needing to know (exactly) which print method is called
## constructor
creates object, initialises it and sets up function pointers
![constructor|400](https://i.imgur.com/HM6P3QI.png)
## destructor
good to use. help with closing things and freeing memory
# modules overview
c programs consist of .c and .h files
- put ADT declarations in the .h (header) files
- we can `#include` these files if we want to use the ADT in a program
- put routine implementations in .c files
## queue header
pragma says include only once: prevent include loops
![queue.h|400](https://i.imgur.com/gpcNZG0.png)

View File

@ -39,6 +39,7 @@ tags:
- [07-6809-advanced](notes/07-6809-advanced.md)
- [08-intro-to-c](notes/08-intro-to-c.md)
- [11-struct-and-union](notes/11-struct-and-union.md)
- [12-pointers-to-routines](notes/12-pointers-to-routines.md)
# Archive