title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
C++ for Non C Programmers
Course Description
Overview
This course is designed to provide students with a solid foundation in C++ for those without any C programming experience. This course covers the features of the C++ language and emphasizes key object-oriented programming concepts. Students will design and write programs in the C++ language, emphasizing object-oriented approaches to solutions.Objectives
- Recognize the structure and flow of a C++ program
- Utilize primitive data types in C++ programs
- Apply C++ operators, expressions and flow control statements
- Manipulate functions, function parameters and return values
- Organize data by defining arrays and structures
- Employ pointers to manage variables and data structures
- Define classes, attributes and methods
- Use constructors and destructors to manage object creation
- Take advantage of inheritance to manage object oriented systems
- Define virtual and pure virtual functions
- Manage memory using new and delete
- Utilize casting at the primitive and object level
- Overload class methods as well as operators
- Cope with errors through exception handling
- Reference the Standard Template Library
Audience
- Programmers
Prerequisites
- Professional programming experience
Topics
- First program (hello.cpp)
- Compile steps
- How to compile and run a program
- Fundamental data types
- Data type values and sizes
- Variable declarations
- Variable names
- Constants
- Character constants
- String constants
- What are expressions?
- Arithmetic operators
- Relational operators
- Assignment operator
- Expressions have resulting values
- True and False
- Logical operators
- Increment and decrement operators (++ and --)
- 'Operate-Assign' operators (+=, *=, ...)
- Conditional expression
- Operator precedence
- Precedence and order of evaluation
- Evaluation of logical operators
- Type conversions
- Cast operator
- Statements
- if - else
- if() - else if ()
- switch()
- while()
- do - while()
- for()
- The for() loop - diagram
- Break statement
- Continue statement
- What is a function?
- Why use functions?
- Anatomy of a function
- Arguments passed by value
- When to use the return Statement
- Returning non-integer values
- Functions in multiple source files
- Concept of variable scope
- Automatic variables
- Global (external) variables
- Static variables
- External static variables
- What is a pointer?
- Pointer operators
- Why use pointers?
- Arrays (a picture)
- & operator
- Pointers and arrays
- Passing arrays to functions
- Initializing arrays
- Strings and character pointers
- What is char s[7] ???
- Arrays of pointers - diagram
- Command-line arguments
- Comparison of structures and arrays
- Structure definitions and declarations
- Arrays of structures
- Creating a data structure
- Methods
- Object scope
- C++ input and output
- Namespaces
- Data abstraction
- Enforcing data encapsulation
- File organization
- Classes in C++
- Objects
- this Pointer
- Debug output
- Default constructor
- When are constructors called?
- Destructor
- Copy constructor
- Other Constructors
- Why did it work before?
- Composition
- Report class
- Code reuse
- Initialization lists
- Inheritance
- Bugreport
- Protected access modifier
- Access and inheritance
- Constructors and inheritance
- Initialization lists revisited
- Multiple inheritance
- Inheritance and assignment
- Inside Report's assignment operator
- Using pointers - a quick look at basics
- Class assignment and pointers
- Static binding
- Dynamic binding
- Polymorphism
- Using the show_rep() function
- Designing member function inheritance
- Bugfix and its relationship with Bugreport
- Using Bugfix with show_rep()
- Adding Bugfix to the hierarchy
- Coding for the document class
- Reexamining the document class
- Pure virtual functions
- Updated: Designing member function inheritance
- References
- Displaying references
- Changing references
- Pass by reference
- Returning by reference
- Constant variables
- Constant references
- Constant methods
- new and delete
- Array allocation
- Report class
- Compiler version of the copy constructor
- Guidelines for copy constructors
- Report constructors and new
- Report destructor and delete
- Virtual destructors
- Casting: a review
- New casting syntax
- Creating a string class
- String class
- Conversion constructor
- Expanding our casting options
- Using the Casting Operator
- Class data
- Class methods
- Using the new data
- More on class methods
- Function overloading
- Using overloaded functions
- Rules for overloading
- Overloading based on const-ness
- Default arguments
- Invoking functions with default arguments
- Basics of overloading
- Overloading operator+
- Coping with commutativity
- Non-Commutative operators
- friends and their problems
- Assignment operator
- Overloading the << Operator
- Using date with cout
- Why exception handling?
- try/catch/throw
- Exception classes
- Standard exception hierarchy
- Multiple catch blocks
- Catching everything
- Unhandled exceptions
- Exception in constructors and destructors
- Designing for exceptions
- Class template concepts
- Standard Template Library (STL) overview
- Containers
- Iterators
- Iterator syntax
- Non-Mutating sequential algorithms
- Mutating sequential algorithms
- Sorting algorithms
- Numeric algorithms
- auto_ptr class
- string class
- Container classes
- Container class algorithms
- vector class
- Additional vector class methods
- deque class
- list class
- set and multiset classes
- map and multimap classes
- Constants, references and pointers
- Input/Output
- this Pointer
- Complete Report/Document Hierarchy
- Scenario
- Designing an array class
- Code for FloatArray
- Code for IntArray
- Templates
- Template syntax
- Using templates
- Using classes with templates
- Additional template features
- Standard Template Library
- Banking System
- Library Card Catalog
- Diagrams for Banking and Library Problems
- Object Diagram - Banking
- Event Trace Diagram - Banking
- Object Diagram - Library
- Event Trace Diagram - Library
- Namespaces
- static_cast and reinterpret_cast operator
- dynamic_cast operator
- const_cast operator
- mutable Data Members
- bool Datatype
- new Operator Failure
Related Courses
-
C Programming
PLCC-110- Duration: 5 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,925.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.

STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration