קורסים מקצועיים למתקדמים

פיתוח תוכנה

C++ Programming for Java and C# Developers

מספר הקורס 4372

למה ללמוד בג'ון ברייס?
  • חטיבת ההדרכה של מטריקס, חברת שירותי הטכנולוגיה הגדולה והמובילה בישראל
  • המבחן של המדינה קבע: ג’ון ברייס היא המכללה שמשלבת הכי הרבה בוגרים בעולם ההייטק
  • מובילים את תחום ההכשרות לעולם ההייטק והטכנולוגיה כבר 30 שנה, עם עשרות אלפי בוגרים בתעשיה
  • מרכז הדרכה רשמי של החברות הבינלאומיות המובילות: Microsoft, Google, AWS, SAP, Cisco ועוד

המועדים הקרובים

קורס לקבוצות

הקורס נפתח במתכונת של קבוצה בלבד, בהתאמה אישית לארגונים.
לפרטים נוספים: Muzman@johnbryce.co.il

משך הקורס

שעות אקדמיות:

32

מספר מפגשים:

קורס בוקר:

4

מתכונת הקורס

הקורסים המוזמנים לארגונים מותאמים באופן אישי ומלא לצרכי הארגון, מערכי הלימוד גמישים וניתן לשלב בהם תכנים רלוונטיים וייעודיים.

על הקורס בקצרה​

C++ is undoubtedly one of the most popular programming languages for software development. It brings language enhancements and object-oriented programming support to the extremely popular language C. However, C++ is a large and sometimes difficult language, and even with a Java or C# background, a programmer needs to understand C++ programming style as well as C++ constructs to get the best out of it. This course has a thorough theoretical and practical coverage of the language. This helps to eliminate the misconceptions and poor programming practice that can cause so many problems.

For experienced Java or C# developers, the course will illustrate how to get the benefits of good software engineering and code reuse by using both the standard C++ language as well as the object-oriented programming techniques in real-world programming situations. There will be ample opportunity to apply these techniques during the practical sessions.

This is a hands-on course with a mix of tuition and practical sessions for each technical chapter which reinforce the C++ syntax and object-oriented programming techniques covered in the course. The course contains an appendix on the latest language enhancements of C++ 11

מטרות הקורס

Define and use data types

Declare, define and call functions

Implement classes

Use pointers, dynamic memory and object lifetime

Write code that is efficient and robust

Implement exception handling

Use operator overloading

Implement copy and conversion

Implement object relationships - composition and association

Use container classes and templates

Implement class relationships - Inheritance, Interface and Polymorphism

למי מיועד הקורס

Java or C# Developers wishing to learn or improve in C++

תכנית הלימודים

syllabus
PDF להורדה

Course Introduction

  • Course Prerequisites
  • Course Objectives
  • Course Delivery
  • Course Practical’s
  • Course Structure

C++ Quick Start

  • Review of OOP principles
  • Key features of C++
  • Hello World Program

Fundamental and User-Defined Data Types

  • Built-in types
  • Defining constants
  • Type conversions
  • Defining and using enumerations
  • Built-in arrays and their limitations
  • Using the vector class
  • Built-in strings as character arrays
  • Using the string class
  • Defining and using structures

Functions

  • Declaring, calling and defining functions
  • Overloading
  • Pass by copy and reference
  • Default and anonymous arguments
  • Inline functions
  • Storage Class

Encapsulation

  • Class Definition and Implementation
  • Member functions
  • File organisation
  • Defining and Initialising Objects
  • Scope, Statics and Nesting

 

 

Pointers

  • Concepts and syntax
  • Pointers to scalar and structured types
  • Null pointers
  • Pointers for encapsulated objects
  • Pointers vs. references

Object Lifetime

  • Object storage, lifetime and scope
  • Operators new and delete
  • Construction
  • Destruction
  • Dynamic arrays

Efficiency and Integrity Issues

  • Enumerations
  • Const declarations
  • Const member functions
  • Const member data
  • Inline function mechanism
  • Reference variables

Exception Handling

  • Classifying and handling exceptions
  • Catching and throwing exceptions
  • The standard exception class hierarchy
  • Uncaught exceptions
  • Strategies for handling exceptions

Operator Functions

  • Operator implementation
  • Global operators
  • Subscript operators
  • Input operators
  • Output operators
  • Member operators
  • Increment and Decrement operators
  • Guidelines

Copying and Conversions

  • Copy constructors
  • The copy assignment operator
  • Conversions to a class object
  • Conversions from a class object

 

Object Relationships

  • Composition
  • Scoping and initialisation
  • Order of construction
  • Member Initialisation lists
  • Association
  • Custody and lifetime
  • Constant associations

Containers, Templates and Iterators

  • Organising collections of objects
  • Template classes
  • vector, list, set and map
  • Iterators
  • Template functions
  • Algorithms

Inheritance and Polymorphism

  • Inheritance of Implementation
  • Notation, syntax, terminology
  • Scoping and initialisation
  • Abstract base classes
  • Interfaces
  • Inheritance of Interface
  • Multiple Inheritance
  • Substitutability
  • Polymorphism
  • Destruction issues
  • Guidelines

The Way Ahead

  • Review
  • Further C++ information sources
  • Future evolution of C++

 

 

requirements
  • Delegates must have solid experience of Java or C# including data types (i.e. class and struct(C#)); Methods, use of call by value and call by reference; Multiple source file projects (requiring project files or equivalent); a solid appreciation of object-oriented principles is assumed.
  • Delegates with less than four months or no recent experience of Java or C# should attend the C++ Programming course instead.

C programmers have a choice. If they have a background or sound academic knowledge of OO then this course should suffice. If they have no appreciation of OO then they should attend the C++ Programming course

Schedule Appointment

Fill out the form below, and we will be in touch shortly.

לא הצלחנו לאתר את הטופס.