This preview shows page 1-2-3-4-5-6-7-51-52-53-54-55-56-57-58-102-103-104-105-106-107-108 out of 108 pages.
1Game Development in C++Paul PedrianaSenior Software EngineerMaxis, Electronic ArtsMarch 15, 19992ContentsCONTENTS......................................................................................................................................................................................2OUR GOAL.......................................................................................................................................................................................4REMEMBER THIS...........................................................................................................................................................................5C++ CHARACTERS .......................................................................................................................................................................6ANDY ACADEMIA ........................................................................................................................................................................6SAMMY C.......................................................................................................................................................................................6PETER PORTABILITY...................................................................................................................................................................6PATTY PLUG-IN ............................................................................................................................................................................7NANCY NIH....................................................................................................................................................................................7GARY GOOD GUY ..........................................................................................................................................................................7TEN WAYS C++ IS NOT ANSI C................................................................................................................................................8C++ COMPILERS .........................................................................................................................................................................10C++ FEATURES FOR GAME PROGRAMMING.....................................................................................................................13CLASSES AND INHERITANCE .....................................................................................................................................................13PUBLIC/PRIVATE/PROTECTED.................................................................................................................................................21INLINING.......................................................................................................................................................................................23POINTERS TO MEMBER FUNCTIONS.......................................................................................................................................24OPERATOR OVERLOADING........................................................................................................................................................26CUSTOM ALLOCATORS..............................................................................................................................................................29STL................................................................................................................................................................................................33STRING CLASS..............................................................................................................................................................................35AUTO-PTR...................................................................................................................................................................................37EXCEPTION HANDLING.............................................................................................................................................................38RUN-TIME TYPE IDENTIFICATION..........................................................................................................................................41STREAM IO..................................................................................................................................................................................43TEMPLATES.................................................................................................................................................................................48EXAMPLE OF COOL C++ CLASS................................................................................................................................................49HIGH PERFORMANCE C++.......................................................................................................................................................53MIXING C, C++, AND ASSEMBLY...........................................................................................................................................54C++ NAME MANGLING...............................................................................................................................................................54CALLING C FROM C++................................................................................................................................................................54CALLING C++ FROM C................................................................................................................................................................55CALLING ASSEMBLY FROM C++...............................................................................................................................................55CALLING C++ FROM ASSEMBLY...............................................................................................................................................55INLINE ASSEMBLY WITH C++..................................................................................................................................................553C++
View Full Document