C++ Programming for Non-C Programmers
Details
Prerequisites: Prior programming experience, though not necessarily in C or C++. Some prior knowledge of basic C syntax is helpful but not required.
Outline
- Block Structure of C and C++ Programs
- Fundamentals of Syntax
- Built in Data Types
- The Preprocessor and Macros
- Standard Runtime Libraries and Header Files
- Data Types and Qualifiers
- Constants and String Literals
- Static versus Automatic Storage
- Scope and Variables
- Initialization Rules
- Arithmetic, Logical, and Bit Operators
- Precedence and Associativity
- Assignment
- Type Conversion Rules
- Type Casting
- Conditional Constructs: if, switch
- Looping Constructs: while, do, for
- Programming Style
- Advantages of Pointers
- Uses of Pointers
- Declaring Pointers
- Pointer and Address Arithmetic
- Initializing and Dereferencing Pointers
- Pointers vs. Arrays
- Purpose of Functions
- Functions versus Inlining
- The Argument Stack
- Passing by Value
- Passing by Reference
- Declaring External Functions
- Function Prototyping
- New Compiler Directives
- Stream Console I/O
- Explicit Operators
- Standard Libraries
- Data Control Capabilities
- New Declaration Features
- Initialization and Assignment
- Enumerated Types
- The bool Type
- Constant Storage
- Pointers to Constant Storage
- Constant Pointers
- References
- Constant Reference Arguments
- Volatile Data
- Global Data
- Function Prototypes and Type Checking
- Default Function Data Types
- Function Overloading
- Problems with Function Overloading
- Name Resolution
- Promotions and Conversions
- Call by Value
- Reference Declarations
- Call-by-Reference and Reference Types
- References in Function Return
- Constant Argument Types
- Conversion of Parameters Using Default Initializers
- Providing Default Arguments
- Inline Functions
- Creating Automatic Objects
- Creating Dynamic Objects
- Calling Object Methods
- Constructors
- Initializing Member consts
- Initializer List Syntax
- Allocating Resources in Constructor
- Destructors
- Block and Function Scope
- File and Global Scope
- Class Scope
- Scope Resolution Operator ::
- Using Objects as Arguments
- Objects as Function Return Values
- Constant Methods
- Containment Relationships
- Advantages of Dynamic Memory Allocation
- Static, Automatic, and Heap Memory
- Free Store Allocation with new and delete
- Handling Memory Allocation Errors
- Object Copying and Copy Constructor
- Automatic Copy Constructor
- Conversion Constructor
- Inheritance and Reuse
- Composition vs. Inheritance
- Inheritance: Centralized Code
- Inheritance: Maintenance and Revision
- Public, Private and Protected Members
- Redefining Behavior in Derived Classes
- Designing Extensible Software Systems
- Syntax for Public Inheritance
- Use of Common Pointers
- Constructors and Initialization
- Inherited Copy Constructors
- Destructors and Inheritance
- Public, Protected, Private Inheritance
- Streams and the iostream Library
- Built-in Stream Objects
- Stream Manipulators
- Stream Methods
- Input/Output Operators
- Character Input
- String Streams
- Formatted I/O
- File Stream I/O
- Overloading Stream Operators
- Persistent Objects
- The Object Programming Paradigm
- Object-Orientated Programming Definitions
- Information Hiding and Encapsulation
- Separating Interface and Implementation
- Classes and Instances of Objects
- Overloaded Objects and Polymorphism
- Purpose of Template Classes
- Constants in Templates
- Templates and Inheritance
- Container Classes
- Use of Libraries
- Character Strings
- The String Class
- Operators on Strings
- Member Functions of the String Class
- Types of Exceptions
- Trapping and Handling Exceptions
- Triggering Exceptions
- Handling Memory Allocation Errors
- Organizing C++ Source Files
- Integrating C and C++ Projects
- Using C in C++
- Function Prototypes
- Strong Type Checking
- Constant Types
- C++ Access Control Techniques
- Definition of Polymorphism
- Calling Overridden Methods
- Upcasting
- Accessing Overridden Methods
- Virtual Methods and Dynamic Binding
- Virtual Destructors
- Abstract Base Classes and Pure Virtual Methods
- Derivation from Multiple Base Classes
- Base Class Ambiguities
- Virtual Inheritance
- Virtual Base Classes
- Virtual Base Class Information
- Components of a Class
- Class Structure
- Class Declaration Syntax
- Member Data
- Built-in Operations
- Constructors and Initialization
- Initialization vs. Assignment
- Class Type Members
- Member Functions and Member Accessibility
- Inline Member Functions
- Friend Functions
- Static Members
- Modifying Access with a Friend Class
- Advantages and Pitfalls of Overloading
- Member Operator Syntax and Examples
- Class Assignment Operators
- Class Equality Operators
- Non-Member Operator Overloading
- Member and Non-Member Operator Functions
- Operator Precedence
- The this Pointer
- Overloading the Assignment Operator
- Overloading Caveats
- STL Containers
- Parameters Used in Container Classes
- The Vector Class
- STL Algorithms
- Use of Libraries
Software Skills Training, Inc. (SST) is a leading provider of task-oriented training courses for IT professionals. Our task-based training philosophy is focused on saving you time and assuring that you are able to work more productively and with higher quality results after training. Founded in 2000, SST has delivered high-powered training to tens of thousands of IT professionals.
Choose from a variety of delivery options:
- Face-to-face in the classroom in over 100 cities
- Live remote attendance
- On-demand streaming
- Group training at your facility
We guarantee the overall quality of our courses with a 100% money-back guarantee. If any student is not totally satisfied for any reason, they can withdraw before the second day of class. Notify the instructor and return all course materials and receive a 100% refund.
Why Choose SST?- 50% hands on labs
- Small class sizes typically under 14 students
- Expert instructors that average over 10 years of teaching experience
- Students can retake any portion of a class that has been completed, within 12 months at no extra cost
- No registration fees or cancellation fees