Dashboard/Block 6: Capstone/Week 12
Week 12Capstone

Final Project

Alright, this is the big one — the capstone project. Everything you've learned over the past 18 weeks? It all comes together right here. You're going to build a complete Shape Management System from scratch: a real C++ application that creates, stores, manipulates, and displays geometric shapes. And the cool part is that this one project touches basically every major concept from the entire course.

Let me show you what I mean — check out how each thing you've learned maps directly to a piece of this project:

Course ConceptHow It Appears in the Project
InheritanceCircle, Rectangle, and Triangle all derive from the abstract Shape base class
PolymorphismA Shape** array holds different shape types; calling area() on each runs the correct derived version
Virtual Functionsarea(), perimeter(), display(), and clone() are all pure virtual in Shape
Dynamic MemoryShapeCollection manages a dynamic array of Shape* pointers allocated with new
Rule of ThreeShapeCollection implements destructor, copy constructor, and copy assignment operator
Operator Overloading== compares shapes by area, < sorts by area, << prints shape info, [] accesses by index
Const Correctnessconst on methods that do not modify state, const& parameters for efficiency
Static MembersShape::totalShapes tracks how many shapes exist across the entire program
Multi-file OrganizationEach class lives in its own .h/.cpp pair with include guards
The clone() PatternEnables deep copying of derived objects through base class pointers

Don't let the size of this project intimidate you. The trick is to take it one step at a time — get one small piece working, test it, then move on to the next. And if you get stuck on something, flip back to the earlier weeks for a refresher. You've already learned all of this stuff individually; now you're just putting the puzzle pieces together.

Learning Objectives

Plan and design a multi-class C++ project
Apply ALL course concepts in a single project
Organize code across header and source files
Write documentation for your project

Key Concepts

Shape Management System

Project Timeline