C++ Programming Fundamentals
Course Description
This training course is designed for programmers who do not have previous C programming knowledge and wish to learn about object oriented programming in C++. Using a combination of theory and exercises, this course will give delegates grounding in fundamental object oriented design principles and will show how these can be applied in practical situations.
Course Duration
5 days
Course Objectives
The objectives of this course are to enable delegates to:
• Learn the characteristics of the C++ language and its applications
• Understand the structure and the process of compiling a C++ program
• Be familiar with various data types and operators supported by the language
• Learn how to build structured programs using functions
• Learn and use abstraction mechanisms using structures and arrays
• Understand and use the different storage classes of variables
• Use pointers and addresses
• Understand the pre-compiling phase of program processing;
• Understand the issues associated with compiling, linking and running C++ programs.;
• Learn and practice object oriented concepts and modeling
• Use the C++ programming language to develop OO software systems
• Learn the characteristics of the C++ language and its applications
• Understand the structure and the process of compiling a C++ program
• Be familiar with various data types and operators supported by the language
• Learn how to build structured programs using functions
• Learn and use abstraction mechanisms using structures and arrays
• Understand and use the different storage classes of variables
• Use pointers and addresses
• Understand the pre-compiling phase of program processing;
• Understand the issues associated with compiling, linking and running C++ programs.;
• Learn and practice object oriented concepts and modeling
• Use the C++ programming language to develop OO software systems
Course Content
Introduction
Characteristics and applications of the c++ language, getting started with c++, the c++ program structure, compiling and running c++ programs
Variables and Types
Data types, the const keyword, language identifiers, constant literal values, expressions and statements, introduction to program input and output, operators
Logical Operators and Conditional Expressions
Logical and conditional expressions, logical and relational operators, selection and decision-making statements, the if statement, compound statements, the switch statement
Functions and Loops
Function definition, function prototype, calling a function, iterative constructs, the for statement, the while statement, the do … while statement
Arrays
Referencing array elements, manipulation of an array, multidimensional arrays, array initialisation
Pointers and Addresses
The "address of" operator, pointer declarations, indirection operator, pointers and arrays, pointer arithmetic, pointers and functions
Strings and Characters
Reading and writing strings, scanf(), printf(), string.h, copying and joining strings, comparing strings and determining string length, finding characters within strings
Storage Classes
Storage classes, memory configuration, variable storage classes, dynamic memory allocation, memory allocation functions, the new and delete operators, pointers to functions
C++ Classes
Classes and structs, definition versus implementation, encapsulation, access regions and information hiding, member definition, inline functions, friend functions and friend classes
Constructors and Destructors
Object initialisation; declaring and implementing constructors, using destructors, arrays of objects, initialising arrays of objects
Inheritance and Composition
Deriving classes, private versus public inheritance, scope resolution, constructing derived classes, component-based development with composition; member initialisation list
Polymorphism and Dynamic Binding
Declaring and using virtual functions and the need for virtual destructors, pure virtual functions and abstract classes
I/O Streams
C++ I/O library, C++ Stream Classes, Predefined Streams, Formatting I/O Operations, Manipulators, Overloading << and >> operators, File Streams, I/O Error Status, String Streams
Characteristics and applications of the c++ language, getting started with c++, the c++ program structure, compiling and running c++ programs
Variables and Types
Data types, the const keyword, language identifiers, constant literal values, expressions and statements, introduction to program input and output, operators
Logical Operators and Conditional Expressions
Logical and conditional expressions, logical and relational operators, selection and decision-making statements, the if statement, compound statements, the switch statement
Functions and Loops
Function definition, function prototype, calling a function, iterative constructs, the for statement, the while statement, the do … while statement
Arrays
Referencing array elements, manipulation of an array, multidimensional arrays, array initialisation
Pointers and Addresses
The "address of" operator, pointer declarations, indirection operator, pointers and arrays, pointer arithmetic, pointers and functions
Strings and Characters
Reading and writing strings, scanf(), printf(), string.h, copying and joining strings, comparing strings and determining string length, finding characters within strings
Storage Classes
Storage classes, memory configuration, variable storage classes, dynamic memory allocation, memory allocation functions, the new and delete operators, pointers to functions
C++ Classes
Classes and structs, definition versus implementation, encapsulation, access regions and information hiding, member definition, inline functions, friend functions and friend classes
Constructors and Destructors
Object initialisation; declaring and implementing constructors, using destructors, arrays of objects, initialising arrays of objects
Inheritance and Composition
Deriving classes, private versus public inheritance, scope resolution, constructing derived classes, component-based development with composition; member initialisation list
Polymorphism and Dynamic Binding
Declaring and using virtual functions and the need for virtual destructors, pure virtual functions and abstract classes
I/O Streams
C++ I/O library, C++ Stream Classes, Predefined Streams, Formatting I/O Operations, Manipulators, Overloading << and >> operators, File Streams, I/O Error Status, String Streams
Who should attend?
Software programmers wishing to learn the fundamentals of object-oriented design using C++
Pre-requisites
None