
Translate state machine concepts into advanced c++ design using classes and member functions to model manufacturing equipment and board interfaces, with UML diagrams bridging c++ 98 and c++11.
Wrap the era one namespace with a wrapper namespace, define a file type enum for text or binary, and implement constructors, a virtual destructor, and open for read and write.
Trace the evolution of C++ standards from 98/03 through 11 and beyond, preserving backward compatibility. Explore object oriented design, encapsulation, and the standard template library.
Learn to manage deprecated features in C++ with the -W deprecated warning, generate notes, and mark functions or classes as deprecated, while exploring locale and IO manipulators for currency formatting.
Explore modern C++ internationalization by recreating a locale-specific exercise using stream modifiers for currency, numbers, and dates. Build a complete header-driven project with a makefile to experiment with locales.
explore slicing and virtual in c++ to enable polymorphism for frameworks using base pointers and directed construction to avoid diamond inheritance; implement big three and a float object with operators.
Explore abstract classes and the clone pattern in C++ context, reviewing pure virtual functions, virtual destructors, and header versus implementation decisions.
Apply C++ practices by building a shopping cart using standard templates, vectors, and headers, while learning makefiles, an abstract cart, and a versioned user data model.
Apply agile software design with abstract classes to manage sprints and iterative development. Model a web shopping cart featuring shopper and employee roles using top-down and bottom-up approaches.
Extend a shopping cart with operator overloading to add integers and product identifiers using plus-equals and minus-equals, while managing arrays, enumerations, and versioned carts with makefiles.
Explore shopping cart design with an abstract user card, employee discounts, and inline header definitions, then implement add and delete item operations in a protected, test-driven C++ workflow.
Explore template containership and overloading to create type-agnostic data containers and interoperable collections. Learn how templates define signatures and contracts, enabling vector-like structures and boost-style patterns across containers.
Explore parameterized types to store a vector of products in a shopping cart, replacing integers with a product struct, and building reusable libraries with makefiles.
Compare list and vector metaclasses; list offers non-contiguous memory and fast middle insertions for long-running and embedded apps, while vector is faster and thread-safe, with different growth rules.
Explore polymorphic product modeling in C++ by implementing an abstract product base, concrete company and affiliate products, and a cart and order relationship with a virtual destructor and name mangling.
Explore move semantics in modern c++ by detailing the big five or six operations: move and copy constructors, move and copy assignments, destructor, default and value constructors; test with vectors.
Explore practical searching and sorting in C++ using iterators, begin and end concepts, and algorithms like find_if and binary search, with emphasis on auto, distance, and runtime type information.
Explore lambda operations in C++, focusing on anonymous function pointers, operator overloading, and sorting within template-based collections to support goal-seeking patterns and flexible data workflows.
Once we understand how to create classes, the next challenge is to understand how to apply Object Orientation to our software creation & maintenance activities. Far more that simply using inheritance therefore are the concepts that will allows us to test, as well as to encapsulate and / or manage key operations. -Features required to keep multiple projects working as expected.
Rollings Review
If you are familiar with C and functional C++ then you should feel confident jumping right into the 3000 lesson set. If C and / or C++ are new to you, we start our with a review of the core concepts.
I think you'll appreciate the review, as well as the additional extended topics that we're going to be presenting in this 3000 level - or advanced C/C++ educational opportunity.
Focus
The focus of C/C++ 3000: GNU For Advanced Students series is on the advanced Object Oriented Framework and Factories. Code relationship & capabilities that make modern C++ a natural choice for people who have very little legacy, or for software developer who wish to take their legacies to the next level using this C++ 98, C++ 11, C++ 14 or 2017 concepts.
Bottom Line?
Writing C/C++ for decades I believe students need to know how to work with those huge legacy code bases? Never soon to be updated, if it isn't broken then we should understand why many will want us to work with those classic standards!