Difference between revisions of "COMP345 Fall 2020 Midterm coverage"

From Dr. Joey Paquet Web Site
Jump to: navigation, search
Line 29: Line 29:
 
***arithmetics
 
***arithmetics
 
**references
 
**references
**smart pointers
+
**smart pointers (X)
 
**parameter passing
 
**parameter passing
 
**strings
 
**strings
Line 74: Line 74:
 
***memory allocation model
 
***memory allocation model
 
***passing as parameters
 
***passing as parameters
**array decay into a pointer
+
**array decay into a pointer (X)
 
**static array classes
 
**static array classes
 
**STL containers (X)
 
**STL containers (X)
 
***declaration, usage (X)
 
***declaration, usage (X)
 
***iterators (X)
 
***iterators (X)

Revision as of 10:04, 22 October 2020

  • Notes:
    • 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 (X)
    • 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 (X)
    • static array classes
    • STL containers (X)
      • declaration, usage (X)
      • iterators (X)