Skip to content

Basics of Compilers in relationship to C++ compilation to object and machine code via makefile scripting. Basics of Algorithmic Design - Essentially how to design a sequence of precise instructions that leads to a solution. Principles of object-oriented programming design

Notifications You must be signed in to change notification settings

MorganBergen/CPP-Data-Structures

Repository files navigation

C++ Data Structures

Description

Demonstrated knowledge of the following concepts via building small programs surrounding such topics. Basics of Compilers in relationship to C++ compilation to object and machine code via makefile scripting. Basics of Algorithmic Design - Essentially how to design a sequence of precise instructions that leads to a solution.

General principles of object-oriented programming design

  1. Encapsulation: Objects combine data and operations.
  2. Inheritance: Classes can inherit properties from other classes.
  3. Polymorphism: Objects can determine appropriate operations at execution time.

Exception Handling Basics

  • Throw Statement
  • Catch Block
  • Try Block
  • Catching Multiple Exceptions Throwing an Exception in a Function Exception Specification
  • Exception Specification in Derived Classes When to throw an Exception
  • Nested try-catch blocks
  • Exception Class Hierarchies
  • Testing for Available Memory Re-throwing an Exception std::runtime_error

Memory Management

  1. Free-store Basics
  2. Recursion
  3. Classes
  4. Defining Classes and Member Functions Properties of Public and Private Members Constructors for Initialization
  5. Default Constructor
  6. Constructors with No Arguments
  7. Member Initializers and Constructor Delegation

Pointers & Dynamically Allocated Arrays

  1. Arrays as Class Members
  2. Pointers of Class Type

Classes

  1. Class Implementation
  2. Class Interface
  3. Destructors
  4. Pointers as Call-by-Value Parameters Copy Constructors
  5. Operator Overload

Pointers and Linked Lists

  1. Nodes
  2. nullptr
  3. Linked Lists
  4. Searching a Linked Lists
  5. Pointers as Iterators
  6. Inserting and Removing Nodes Inside a List Structures
  7. Linked Structors Node Pointers

Inheritance

  1. Derived Classes
  2. Defining Derived Classes Constructors in Derived Classes
  3. Redefining an Inherited Function
  4. Implementation for a Derived Class
  5. Overloading an Inherited Function Function Signature
  6. Class Assignment Operator application
  7. Copy Constructors in Derived Classes Destructors in Derived Classes
  8. The const Parameter Modifier
  9. Virtual Functions
  10. Interface & Implementation for Base Classes Use of Virtual Functions
  11. Overriding
  12. Polymorphism
  13. Late Binding

Stacks and Queues

  1. Stack Classes
  2. Queues
  3. Interface for Queue Class Implementation for Queue Class Queue Class
  4. push(), pop(), peak(), empty() - Last-in/first-out Data Structure Interface for Stack Class
  5. Stack Class Implementation
  6. -> Operator
  7. Front of the List
  8. Back of the List

Templates

  1. Templates for Algorithm Abstraction
  2. Templates for Functions
  3. A Template overloads a Function Name
  4. Templates with more than one type parameter
  5. How to Define Templates
  6. Function Template Declaration and Definition
  7. Algorithm Abstraction
  8. Type Parameters for Function Templates
  9. Declaring Objects after a Class Template is Defined
  10. Syntax for Class Templates
  11. Defining member functions for a Class Template
  12. Class Template Definition, Declaration
  13. Type Definitions
  14. Interface for Class Template
  15. Implementation for Class Template
  16. Interface for Class Template without Implementation Implementation of Class Templates with Overloaded Operators

About

Basics of Compilers in relationship to C++ compilation to object and machine code via makefile scripting. Basics of Algorithmic Design - Essentially how to design a sequence of precise instructions that leads to a solution. Principles of object-oriented programming design

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published