Introduction to C++ Programming

Course

Online

Price on request

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.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • C++
  • IT
  • Programming

Course programme

Practical Work

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

A background to object oriented thinking

  • 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

Practical applications leading to object oriented approaches

  • 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

Brief History of C++

  • 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

An overview of the C in C++

  • 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++

Classes and instances

  • Member variables and member functions (private, public, protected)
  • Constructors and destructors
  • Default constructors and default destructors
  • Initialiser lists
  • Derived classes
  • Arrays of classes

More advanced aspects of working with classes and instances

  • 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

A more detailed look at input and output in C++

  • 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

Price on request