CPEN 201:C++ Programming (Prerequisite: FAEN 112)

Main block


History of C++, ANSI C++, C++ programming environment and programming style. Extensions of C to C++. Creating of Files and Streams in C++, connecting and disconnecting. Arrays as parameter functions, sorting arrays, 2-dimensional arrays, dynamic arrays, automatic and dynamic variables, linked lists. Declaration of Pointers and Addresses and their usage. Functions and Procedural Abstractions: User-defined functions, value and reference parameters, functions using value parameters, reference parameters, procedural abstraction and good programming style, splitting programs into different files. Basic concepts of recursion, mechanics of a recursive call, recursion and iteration, recursive data structures, recursive procedure for sorting. C++ extensions to Object-Oriented Programming: Creating basic classes and objects, constructors and destructors, inheritance, construction, destruction, and multiple inheritances. Polymorphism. Abstract Classes. Operator overloading. A case study: Generic types (templates), shape and traversal, properties of singly linked lists, shape implementation, Iterator implementation and example usage