C++ Intro

At the end of this course, delegates will be able to develop basic ANSI-compliant C++ console programs. No prior C++ knowledge is assumed although some knowledge of a development environment such as Microsoft Visual Studio & some programming experience would be beneficial.

We do have further learning available at intermediate and advanced level. If you are interested in this please contact us for a bespoke quote based on your specific requirements.

 

Format: 3 Days: Max Capacity 6

Wireless Computer Accessories
Tools Screen.png

Session Topics

 

INTRODUCTION

  • C++ PROGRAMS 

  • THE HISTORY OF C++ 

  • COMPONENTS OF A C++ PROGRAM 

  • A SIMPLE C++ PROGRAM 

  • ADDING TWO NUMBERS TOGETHER 

  • VARIABLES 

  • KEYWORDS 

  • C++ AND .NET 

 

THE C++ INTERACTIVE DEVELOPMENT 
ENVIRONMENT

  • VISUAL STUDIO 2017 

  • STARTING A NEW PROJECT 

  • WRITING AND COMPILING A PROGRAM 

  • PROJECT SETTINGS

 

C++ SIMPLE DATA TYPES AND EXPRESSIONS

  • FUNDAMENTAL DATA TYPES 

  • DECLARING VARIABLES 

  • INTEGER NUMBERS 

  • INTEGER OPERATORS 

  • COMPOUND ASSIGNMENTS 

  • INCREMENT AND DECREMENT 

  • PREFIX AND POSTFIX OPERATORS 

  • FLOATING POINT NUMBERS

  • CHARACTER DATA 

  • BOOLEAN DATA 

  • UNSIGNED VARIABLES 

  • CONSTANTS 

  • TYPE CONVERSION 

  • THE SIZEOF OPERATOR

 

COMPOSITE DATA TYPES 

  • TYPEDEFS 

  • ENUMERATIONS

 

DYNAMIC MEMORY ALLOCATION 

  • THE STACK & THE HEAP 

  • MEMORY LEAKAGE 

  • THE NEW & DELETE OPERATORS 

  • MALLOC 

  • FREE 

  • CALLOC 

  • EALLOC 

  • PLACEMENT NEW OPERATOR

 

POINTERS

  • MEMORY ADDRESSES

  • DECLARING POINTERS 

  • MANIPULATING POINTERS

  • POINTERS TO STRUCTURES 

  • STRINGS IN C++ 

  • POINTERS TO CHAR 

  • CHARACTER MANIPULATION ROUTINES 

  • STRLEN() 

  • STRCPY()AND STRNCPY( ) 

  • STRCAT() AND STRNCAT( )

  • STRCMP() AND STRNCMP( ) 

  • CHARACTER TEST FUNCTIONS 

  • CHARACTER CONVERSION FUNCTIONS 

  • MICROSOFT & C++11 EXTENSIONS TO 

  • CHARACTER MANIPULATION ROUTINES 

  • TOKENISING STRINGS WITH STRTOK_S() 

  • NULL POINTERS 

  • C++11 NULLPTR 

  • SMART POINTERS (C++11)

  • POINTERS TO ARRAYS 

  • POINTER ARITHMETIC

  • THE VOID POINTER

  • ARRAYS 

  • THE #INCLUDE COMPILER DIRECTIVE STRUCTURES 

  • UNIONS 

  • BIT STRUCTURES

  • STRUCTURE ALIGNMENT

 

FLOW CONTROL 

  • SEQUENTIAL STATEMENTS

  • THE IF STATEMENT 

  • THE WHILE STATEMENT 

  • THE FOR STATEMENT 

  • RANGE BASED FOR LOOP 

  • BREAK AND CONTINUE STATEMENTS

  • THE SWITCH STATEMENT

  • THE DO WHILE LOOP 

  • THE TERNARY CONDITIONAL OPERATOR

 

FUNCTIONS 

  • MODULAR PROGRAMMING 

  • HEADER FILES 

  • SOURCE FILES 

  • FUNCTION DECLARATIONS 

  • CALLING FUNCTIONS

  • FUNCTION DEFINITION 

  • RETURNING VALUES USING THE RETURN STATEMENT

  • FUNCTION OVERLOADING

  • DEFAULT ARGUMENTS 

  • REFERENCES 

  • PASSING PARAMETERS 

  • PASSING COPIED PARAMETERS – BY VALUE

  • PASSING REFERENCED PARAMETERS – BY REFERENCE 

  • ARGUMENT TYPES 

  • RETURN TYPES 

  • CALLING CONVENTIONS CDECL, FASTCALL, STDCALL & THISCALL 

  • C CALLING CONVENTION (__CDECL) 

  • STANDARD CALLING CONVENTION 

  • (__STDCALL) 

  • FAST CALLING CONVENTION (__FASTCALL)

  • THISCALL 

  • INLINE FUNCTIONS 

  • SCOPE OF VARIABLES 

  • STORAGE CLASS 

  • AUTOMATIC LOCAL VARIABLES

  • POINTERS TO FUNCTIONS 

  • 64 BIT POINTERS 

  • COMMON PITFALLS

 

ARCHITECTURAL ISSUES NAMESPACES

  • HEADER & SOURCE FILES 

  • #DEFINED CONSTANTS 

  • #DEFINED MACROS 

  • DELETING A DEFINITION

  • FILES IN C++ 

  • FILES - REVIEW 

  • FILE TYPES 

  • TEXT FILE EXAMPLES 

  • BINARY FILE EXAMPLES

 

THE PRINCIPLES OF OBJECT ORIENTED PROGRAMMING - REVIEW 

  • OBJECT ORIENTED PRINCIPLES

 

CLASSES & OBJECTS 

  • CLASS IMPLEMENTATION 

  • WRITING CLASSES 

  • THE PUBLIC INTERFACE 

  • THE PRIVATE INTERFACE 

  • CLASS DEFINITION 

  • INSERTING CLASS DEFINITIONS

  • USING OBJECTS 

  • OBJECT LIFETIME 

  • CONSTRUCTORS 

  • DESTRUCTORS 

 

STATIC CLASS MEMBERS 

  • STATIC CLASS DATA MEMBERS

  • STATIC CLASS MEMBER FUNCTIONS

THE C++ CONST MODIFIER OBJECTIVES 

  • CONSTANT VARIABLES & POINTERS CONSTANTS & FUNCTIONS 

  • CONSTANT CLASS MEMBER FUNCTIONS

  • STATIC LOCAL VARIABLES 

  • GLOBAL VARIABLES 

  • REGISTER VARIABLES 

  • EXTERN VARIABLES 

  • VARIABLE LINKAGE VOLATILE VARIABLES

  • DYNAMICALLY ALLOCATED OBJECTS