Skip to Content

Object-Oriented Programming in C++

Unit code: HIT3172

Credit points12.5 Credit Points
Duration
1 Semester or equivalent
Contact hours54 hours
CampusHawthorn, Sarawak
Prerequisites
Corequisites
Nil

Aims and objectives

Learning Outcomes
Students who successfully complete this unit of study will be able to:
  • use C++ features that replace C constructs to make C++ a safer and more flexible programming language
  • correctly use the features offered by C++ for Object-Oriented Programming
  • write class components that protect data integrity and produce classes that are re-usable and maintainable
  • design class responsibilities and relationships with the aim of maximising class cohesion and minimising class dependencies
  • use the generic programming features of C++ including the STL
  • design and implement reliable and maintainable object-oriented applications of moderate complexity composed of several classes.

Teaching methods

Lecture (24 hrs), Tutorials (lab) (24 hrs), Practical Classes (Tests) (6 hrs) 

Assessment

Assignment, Tests, Portfolio 

Content

Correct use of C++ features for robust applications:
  • Exceptions
  • Reference parameters
  • C++ strings vs. char pointers
  • Containers, iterators and standard algorithms
  • Defensive memory management
  • Essential C++ idioms 
Correct use of object-oriented features for maintainable applications:
  • Class design, encapsulation, responsibilities, class relationships
  • Inheritance, polymorphism, abstract classes, delegation, inheritance vs. containment
  • OO application design. Coding to an interface
Generic programming in C++ :
  • function and class templates
  • basic STL collections, iterators, algorithms

References

Josuttis, NM, Object-oriented Programming in C++. Wiley, 2002.
Lippman, SB, Jajoie, J, Moo, C++ Primer, 4th edn, Addison Wesley, 2005.