May 24, 2024  
College Catalog 2021-2022 
College Catalog 2021-2022 [ARCHIVED CATALOG]

Add to Favorites (opens a new window)

ITCS 2550 - C++ Programming 2

Credit Hours: 3.00

Prerequisites: ITCS 2530  

ITCS 2550 provides students with a continuing study of C++ object‑orientated programming language. Students learn additional concepts of operator overloading, multiple public and private inheritance, C++ pointers, files and streams, virtual functions, linked lists, and basic C++ CLASS libraries. Additional CLASS libraries will be used as required. Primarily, the course emphasizes object‑orientated concepts and design. Students code programs involving objects, classes, multiple inheritance, new data types, C++ pointers, and file I/O. Students implement all programs and/or examples on microcomputers.

Billable Contact Hours: 3

Search for Sections
Outcome 1: Upon completion of this course, students will create program(s) using IFSTREAM, OFSTREAM, and FSTREAM classes which utilize file processing and error checking.


  1. Review
    1. Explain the basic structure of C++ programs.
    2. Use decisions and loops in programs.
    3. Use structures, classes and arrays in programs.
  2. File I/O
    1. Identify members of the IOS and FSTREAM classes.
    2. Develop program(s) that utilize stream class member functions to perform error checking.
    3. Develop programs using char, string, and object I/O.
    4. Explain the difference between Binary and Character files.

Outcome 2: Upon completion of this course, students will develop program(s) using intuitive class objects with overloaded operator member functions.


  1. Multiple file program
    1. Organize C++ program using multiple source files and header files.
    2. Explain variable scope as it applies to multiple files program.
  2. Operator overloading
    1. Create program(s) that use overloading of Unary and Binary operators.
    2. Overload >> and < operators with the use of FRIEND functions.
    3. Explain the purpose of NAMELESS TEMPORARY objects.

Outcome 3: Upon completion of this course, students will create program(s) using inheritance, polymorphism, dynamic memory allocation and template classes.


  1. Inheritance
    1. Explain the reason for inheritance and multiple inheritances.
    2. Create base and derived classes.
    3. Utilize PRIVATE, PUBLIC, and PROTECTED keywords to achieve proper member access control.
  2. Pointer and dynamic memory allocation
    1. Demonstrate the use of pointers as compared to address of operator &.
    2. Create program(s) that dynamically allocate memory space using NEW and manipulate the data through pointers.
    3. Create program(s) that clean up itself using DELETE operator in destructor.
    4. Explain data conversion between basic data types and objects.
  3. Polymorphism and template classes
    1. Explain polymorphism and its significance in O.O. programming.
    2. Explain the purpose of virtual function and abstract class.
    3. Develop program(s) using array of inhomogeneous objects and manipulate the objects using pointers.
    4. Understand C++ Template classes.
    5. Create program(s) that utilize template class Vector or List.

• Communication: The graduate can communicate effectively for the intended purpose and audience.
• Critical Thinking: The graduate can make informed decisions after analyzing information or evidence related to the issue.
• Global Literacy: The graduate can analyze human behavior or experiences through cultural, social, political, or economic perspectives.
• Information Literacy: The graduate can responsibly use information gathered from a variety of formats in order to complete a task.
• Quantitative Reasoning: The graduate can apply quantitative methods or evidence to solve problems or make judgments.
• Scientific Literacy: The graduate can produce or interpret scientific information presented in a variety of formats.

CDO marked YES apply to this course:
Communication: YES
Critical Thinking: YES
Information Literacy: YES
Quantitative Reasoning: YES
Scientific Literacy: YES


  1. Review - Programming Basics/Loops and Decisions
    1. Review - Structures and Functions
  2. Review - Classes and Arrays
  3. Review - Streams
  4. Operator Overloading
  5. Inheritance
  6. Pointers and Dynamic Data Allocation
  7. Virtual Functions, Abstract Classes, and Polymorphism
  8. Templates and Exceptions
  9. Object-Oriented Design

Primary Faculty
Schleis, George
Secondary Faculty
Koss, John
Associate Dean
Evans-Mach, Patrick
Balsamo, Michael

Official Course Syllabus - Macomb Community College, 14500 E 12 Mile Road, Warren, MI 48088

Add to Favorites (opens a new window)