Introduction to C++ Programming
Course
Online
Description
-
Type
Course
-
Methodology
Online
Unlike many other introductory C++ courses that use Microsoft, or Borland integrated development environments this course is based on the gnu C++ compiler.
Reviews
Subjects
- C++
- IT
- Programming
Course programme
The course contains many simple programming exercises to reinforce the theory, and to stimulate understanding. Coverage of make and makefiles, and the various GNU C++ compiler options will be included at appropriate points in the course.
- Creating and manipulating objects and displaying their attributes
- Experimenting with public and private inheritance
- Experimenting with virtual classes
- Implementing copy constructors
- Exploring deep vs. shallow copying techniques
- Understanding reference counting and the copy on modify idiom
- Implement an instance of the handle-body idiom
- Explore some uses of the Singleton pattern
- Build a simple graphical user interface
- Demonstrate the Observer pattern in action
- Implement a templatised singly linked list
- Writing and reading a table of records to and from a file
- Saving a collection of objects and retrieveing a collection of objects in binary format to and from a file
- Appreciate some of the functionality provided by the Standard Template Library
- Objects as things having attributes and methods
- The message passing model of object interaction
- Objects as instances of some class
- Relationships between objects
- Hierarchies of object classes
- UML notation for describing classes and class hierarchies
- UML for describing relationships between objects
- Building more complex objects - composition and aggregation
- Structured programming - modularity and information hiding
- Simulation and modeling of complex communications, manufacturing and logistics systems
- Artificial Intelligence (AI) - problem solving, planning, searching problems
- Graphical User Interfaces - window managers, widgets and controls
- Early C++ (translation of C++ code to C code)
- C++ is not a pure object oriented language - C++ as an extension of C
- C++ as an evolving language and the development of the ANSI C++ standard
- Base data types (numeric char, integer and floating point types)
- Pointers and arrays
- Function prototypes and function pointers
- Structs, pointers to structs and dynamic data structures
- Typedefs, enums and macro
- I/O in C
- Replacing C based I/O (printf, scanf and all that) with C++ based I/O
- Functions in C++
- Function overloading
- Name mangling / decorating
- Mixing C and C++ code modules (use of extern C)
- Operators and operator overloading in C++
- Member variables and member functions (private, public, protected)
- Constructors and destructors
- Default constructors and default destructors
- Initialiser lists
- Derived classes
- Arrays of classes
- Copy constructors
- Deep vs. shallow copying
- Virtual functions and virtual classes (compile time vs. run time binding)
- Introduction to implementing dynamic data structures using classes (using linked lists and binary trees as examples)
- Friend classes and friend functions
- Static member variables and static member functions
- An introduction to templates and to the Standard Template Library
- The C++ iostream classes
- Overloading the insertion and extraction operators for use with user defined classes
- Reading and writing to files
- Basics of object and data persistence
Introduction to C++ Programming