IN512: Advanced Secure Coding

(PGL-IN512.AA1)
Lessons
Lab
TestPrep
Get A Free Trial

Skills You’ll Get

1

Hour 8: Creating Basic Classes

  • What Is a Type?
  • Creating New Types
  • Classes and Members
  • Accessing Class Members
  • Private Versus Public Access
  • Implementing Member Functions
  • Creating and Deleting Objects
  • Summary
2

Hour 9: Moving into Advanced Classes

  • const Member Functions
  • Interface Versus Implementation
  • Organizing Class Declarations and Function Definitions
  • Inline Implementation
  • Classes with Other Classes as Member Data
  • Summary
3

Hour 10: Creating Pointers

  • Understanding Pointers and Their Usage
  • The Stack and the Heap
  • Null Pointer Constant
  • Summary
4

Hour 11: Developing Advanced Pointers

  • Creating Objects on the Heap
  • Deleting Objects
  • Accessing Data Members Using Pointers
  • Member Data on the Heap
  • The this Pointer
  • Stray or Dangling Pointers
  • const Pointers
  • const Pointers and const Member Functions
  • Summary
5

Hour 12: Creating References

  • What is a Reference?
  • Creating a Reference
  • Using the Address of Operator on References
  • What Can Be Referenced?
  • Null Pointers and Null References
  • Passing Function Arguments by Reference
  • Understanding Function Headers and Prototypes
  • Returning Multiple Values
  • Summary
6

Hour 13: Developing Advanced References and Pointers

  • Passing by Reference for Efficiency
  • Passing a const Pointer
  • References as an Alternative to Pointers
  • When to Use References and When to Use Pointers
  • References to Objects Not in Scope
  • Returning a Reference to an Object on the Heap
  • Pointer, Pointer, Who Has the Pointer?
  • Summary
7

Hour 14: Calling Advanced Functions

  • Overloaded Member Functions
  • Using Default Values
  • Initializing Objects
  • The Copy Constructor
  • Compile-Time Constant Expressions
  • Summary
8

Hour 15: Using Operator Overloading

  • Operator Overloading
  • Conversion Operators
  • Summary
9

Hour 16: Extending Classes with Inheritance

  • What Is Inheritance?
  • Private Versus Protected
  • Constructors and Destructors
  • Passing Arguments to Base Constructors
  • Overriding Functions
  • Summary
10

Hour 17: Using Polymorphism and Derived Classes

  • Polymorphism Implemented with Virtual Member Functions
  • How Virtual Member Functions Work
  • Summary
11

Hour 18: Making Use of Advanced Polymorphism

  • Problems with Single Inheritance
  • Abstract Data Types
  • Summary
12

Hour 19: Storing Information in Linked Lists

  • Linked Lists and Other Structures
  • Linked List Case Study
  • Linked Lists as Objects
  • Summary
13

Hour 20: Using Special Classes, Functions, and Pointers

  • Static Member Data
  • Static Member Functions
  • Containment of Classes
  • Friend Classes and Functions
  • Summary
14

Hour 21: Using New Features of C++23

  • The Newest Version of C++
  • Using auto in Function Return Types
  • Improved Numeric Literals
  • The constexpr Keyword
  • Lambda Expressions
  • Summary
15

Hour 22: Employing Object-Oriented Analysis and Design

  • The Development Cycle
  • Simulating an Alarm System
  • PostMaster: A Case Study
  • Summary
16

Hour 23: Creating Templates

  • What Are Templates?
  • Instances of the Template
  • Template Definition
  • Using Template Items
  • Summary
17

Hour 24: Dealing with Exceptions and Error Handling

  • Bugs, Errors, Mistakes, and Code Rot
  • Handling the Unexpected
  • Exceptions
  • Using try and catch Blocks
  • Writing Professional-Quality Code
  • Summary
A

Appendix A: Binary and Hexadecimal

  • Other Bases
  • Around the Bases
  • Hexadecimal
B

Appendix B: Using the MinGW C++ Compiler on Windows

  • Downloading MinGW-w64
  • Setting the Path Environment Variable
  • Testing Your Installation

1

Hour 8: Creating Basic Classes

  • Implementing Member Functions
  • Implementing Member Variables and Member Functions
  • Creating Objects
2

Hour 9: Moving into Advanced Classes

  • Understanding the const Member Function
3

Hour 10: Creating Pointers

  • Understanding Pointers
  • Using the new and delete Keywords
4

Hour 11: Developing Advanced Pointers

  • Using the Arrow Operator
  • Understanding const Pointers and const Member Functions
5

Hour 12: Creating References

  • Creating a Reference
6

Hour 13: Developing Advanced References and Pointers

  • Returning by Reference
  • Passing a const Pointer
7

Hour 14: Calling Advanced Functions

  • Understanding the Copy Constructor
8

Hour 15: Using Operator Overloading

  • Overloading the Addition Operator
9

Hour 16: Extending Classes with Inheritance

  • Overriding a Function
  • Hiding the Base Class Member Function
10

Hour 17: Using Polymorphism and Derived Classes

  • Implementing Polymorphism Using the Virtual Function
11

Hour 18: Making Use of Advanced Polymorphism

  • Using the dynamic_cast Operator
  • Understanding Abstract Data Types
12

Hour 20: Using Special Classes, Functions, and Pointers

  • Using Static Member Functions
  • Understanding Pointers to Member Functions
13

Hour 21: Using New Features of C++23

  • Using auto in Function Return Types
  • Using the Lambda Expression
14

Hour 23: Creating Templates

  • Using Templates
15

Hour 24: Dealing with Exceptions and Error Handling

  • Dealing with Exceptions

Related Courses

All Courses
scroll to top