Difference between revisions of "COMP345 Fall 2020 Midterm coverage"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
Line 1: Line 1:
 +
*The following is the list of topics that are included in the midterm examination.
 +
*In general, you are responsible for all the material presented in slide set 0 to 5, along with the lab examples pertaining to them (i.e. lab 1 to lab 5)
 +
*Some specific topics will not be part of the examination. These are denoted with an "X" below. 
 +
 
*Slide Set 0
 
*Slide Set 0
 
**none
 
**none
Line 33: Line 37:
 
**files stream declarations, open/close, usage
 
**files stream declarations, open/close, usage
 
**<< and >> operator overloading
 
**<< and >> operator overloading
**not covered: MFC serialization
+
**MFC serialization (X)
  
 
*Slide Set 4:
 
*Slide Set 4:

Revision as of 09:11, 21 October 2020

  • The following is the list of topics that are included in the midterm examination.
  • In general, you are responsible for all the material presented in slide set 0 to 5, along with the lab examples pertaining to them (i.e. lab 1 to lab 5)
  • Some specific topics will not be part of the examination. These are denoted with an "X" below.
  • Slide Set 0
    • none
  • Slide Set 1:
    • program structure
    • compilation unit
    • header/cpp files
    • includes
    • redundant includes
    • namespaces
  • Slide Set 2:
    • structs and classes as data types
    • variable initialization
    • implicit/explicit type coercion
      • static_cast, dynamic_cast
      • upcasting/downcasting
    • conversion sequences
    • pointers
    • pointer artithmetic
    • pointers and const
    • void/wild/dangling/null pointers
      • stack/heap/new/delete
      • arithmetics
    • references
    • smart pointers
    • parameter passing
    • strings
  • Slide Set 3:
    • input/output streams
    • cin/cout
    • files stream declarations, open/close, usage
    • << and >> operator overloading
    • MFC serialization (X)
  • Slide Set 4:
    • classes vs. structs
    • struct usage
    • class declarations (.h and .cpp files)
    • declaring/using objects
      • with or without pointers
    • inline functions/methods
    • const specifier
    • static specifier
    • friends
    • constructors/destructors
      • declaration/implementation
      • initialization list
      • implicit/explicit constructor calls
      • call chain
    • inheritance
      • overriding/overloading
      • vs. constructor/destructor implementation
      • assignment operator
      • copy constructor
      • shallow/deep copy
    • multiple inheritance
    • virtual inheritance
    • diamond problem
  • Slide Set 5:
    • statically allocated arrays (one or multidimensional)
      • declaration, usage
      • memory allocation model
      • passing as parameters
    • dynamically allocated arrays (one-dimensional) (multidimensional - X)
      • declaration, usage
      • memory allocation model
      • passing as parameters
    • array decay into a pointer
    • static array classes
    • STL containers (X)
      • declaration, usage (X)
      • iterators (X)