< previous page page_xv next page >

Page xv
Hour 21
The Preprocessor
347
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
The Preprocessor and the Compiler
347
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Seeing the Intermediate Form
348
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Using #define
348
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Using #define for Constants
348
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Using #define for Tests
349
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
The #else Precompiler Command
349
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Inclusion and Inclusion Guards
351
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Defining on the Command Line
352
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Undefining
352
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Conditional Compilation
352
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Macro Functions
352
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Why All the Parentheses?
353
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Macros Versus Functions and Templates
355
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
String Manipulation
355
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Stringizing
355
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Concatenation
356
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Predefined Macros
357
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
assert()
357
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Summary
370
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Q&A
370
Part VII
Advanced Topics
373
Hour 22
Object-Oriented Analysis and Design
375
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
The Development Cycle
375
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Simulating an Alarm System
376
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Conceptualization
377
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Analysis and Requirements
377
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
High-Level and Low-Level Design
377
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Other Objects
378
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
What Are the Classes?
379
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
How Are Alarms Reported?
380
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Event Loops
380
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
PostMaster: A Case Study
382
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Measure Twice, Cut Once
383
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Divide and Conquer
384
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Message Format
384
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Initial Class Design
385
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Rooted Hierarchies Versus Non-Rooted
386
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Designing the Interfaces
388
d5ef64f4d3250b96ba5c07ca5bbc2f56.gif
Building a Prototype
389

 
< previous page page_xv next page >

If you like this book, buy it!