What is this course about?
Move from individual functions to connected objects and persistent records. Study classes, encapsulation, inheritance, polymorphism and composition, then use classes with stacks, queues and file-based work.
Build classes and objects, inheritance, polymorphism, composition, encapsulation, stacks, queues and persistent file-based applications through 7 topics with 50 programs each: 350 programs and 3 course projects.
Where you can use the skills
- A file-based student registry.
- A persistent stack or undo exercise.
- A file-backed queue or ticket workflow.
These are application ideas for your learning and portfolio. The published curriculum below shows the actual lessons and projects.
What you will work towards
Design classes with clear responsibilities.
Compare inheritance, polymorphism and composition.
Use data structures as part of an application.
Understand file-backed records and persistent state.
Who is this course for?
- Learners who have completed C++ foundations.
- Students ready for object-oriented programming.
- Developers strengthening class and data-structure concepts.
Before you start
Variables, conditions, loops, arrays and functions in C++. You should be able to compile and run a basic program locally.
Your course curriculum.
7 topics × 50 programs = 350 programs · 3 course projects · readable code and tested reference output.
01Classes & objects
- Model a course with a class
- Default and parameterized constructors
- Constructor initialization order
- Object lifetime and destructor
- Copy an object with value members
- Const objects and const methods
- Static member shared by objects
- This pointer and fluent methods
- Journey speed · value class
- Triangle area · value class
- Room perimeter · value class
- Paint coverage · value class
- Fuel economy · value class
- Simple interest · value class
- Percentage improvement · value class
- Weighted assessment · value class
- Tax-inclusive price · value class
- Discounted price · value class
- Hourly earnings · value class
- Overtime earnings · value class
- Monthly saving target · value class
- Shared travel cost · value class
- Currency conversion · value class
- Electric energy · value class
- Water tank volume · value class
- Box surface area · value class
- Temperature difference · value class
- Distance in metres · value class
- Minutes to seconds · value class
- Average of three observations · value class
- Gross profit · value class
- Profit margin · value class
- Break-even units · value class
- Stock reorder quantity · value class
- Inventory value · value class
- Attendance percentage · value class
- Exam marks required · value class
- Download duration · value class
- Image pixel count · value class
- Uncompressed RGB bytes · value class
- Website conversion rate · value class
- Cost per lead · value class
- Click-through rate · value class
- Return on ad spend · value class
- Email open rate · value class
- Course completion rate · value class
- Class fee balance · value class
- Tutor hours per learner · value class
- Parcel dimensional volume · value class
- Recipe scaling · value class
02Encapsulation & invariants
- Validated setters
- Account deposits and withdrawals
- Constructor throws for invalid state
- Expose read-only access to a collection
- Separate public interface and implementation
- Overload addition without mutation
- Journey speed · state invariant
- Triangle area · state invariant
- Room perimeter · state invariant
- Paint coverage · state invariant
- Fuel economy · state invariant
- Simple interest · state invariant
- Percentage improvement · state invariant
- Weighted assessment · state invariant
- Tax-inclusive price · state invariant
- Discounted price · state invariant
- Hourly earnings · state invariant
- Overtime earnings · state invariant
- Monthly saving target · state invariant
- Shared travel cost · state invariant
- Currency conversion · state invariant
- Electric energy · state invariant
- Water tank volume · state invariant
- Box surface area · state invariant
- Temperature difference · state invariant
- Distance in metres · state invariant
- Minutes to seconds · state invariant
- Average of three observations · state invariant
- Gross profit · state invariant
- Profit margin · state invariant
- Break-even units · state invariant
- Stock reorder quantity · state invariant
- Inventory value · state invariant
- Attendance percentage · state invariant
- Exam marks required · state invariant
- Download duration · state invariant
- Image pixel count · state invariant
- Uncompressed RGB bytes · state invariant
- Website conversion rate · state invariant
- Cost per lead · state invariant
- Click-through rate · state invariant
- Return on ad spend · state invariant
- Email open rate · state invariant
- Course completion rate · state invariant
- Class fee balance · state invariant
- Tutor hours per learner · state invariant
- Parcel dimensional volume · state invariant
- Recipe scaling · state invariant
- Mixture concentration · state invariant
- Battery remaining time · state invariant
03Inheritance
- A student is a person
- Protected helper in a derived class
- Base then derived construction
- Multi-level inheritance
- Resolve a name from two base classes
- Prefer composition for has-a relationships
- Journey speed · derived model
- Triangle area · derived model
- Room perimeter · derived model
- Paint coverage · derived model
- Fuel economy · derived model
- Simple interest · derived model
- Percentage improvement · derived model
- Weighted assessment · derived model
- Tax-inclusive price · derived model
- Discounted price · derived model
- Hourly earnings · derived model
- Overtime earnings · derived model
- Monthly saving target · derived model
- Shared travel cost · derived model
- Currency conversion · derived model
- Electric energy · derived model
- Water tank volume · derived model
- Box surface area · derived model
- Temperature difference · derived model
- Distance in metres · derived model
- Minutes to seconds · derived model
- Average of three observations · derived model
- Gross profit · derived model
- Profit margin · derived model
- Break-even units · derived model
- Stock reorder quantity · derived model
- Inventory value · derived model
- Attendance percentage · derived model
- Exam marks required · derived model
- Download duration · derived model
- Image pixel count · derived model
- Uncompressed RGB bytes · derived model
- Website conversion rate · derived model
- Cost per lead · derived model
- Click-through rate · derived model
- Return on ad spend · derived model
- Email open rate · derived model
- Course completion rate · derived model
- Class fee balance · derived model
- Tutor hours per learner · derived model
- Parcel dimensional volume · derived model
- Recipe scaling · derived model
- Mixture concentration · derived model
- Battery remaining time · derived model
04Polymorphism
- Virtual method dispatch
- Abstract shape interface
- Polymorphic collection with unique_ptr
- Virtual destructor in action
- Object slicing versus references
- Strategy through an interface
- Journey speed · runtime views
- Triangle area · runtime views
- Room perimeter · runtime views
- Paint coverage · runtime views
- Fuel economy · runtime views
- Simple interest · runtime views
- Percentage improvement · runtime views
- Weighted assessment · runtime views
- Tax-inclusive price · runtime views
- Discounted price · runtime views
- Hourly earnings · runtime views
- Overtime earnings · runtime views
- Monthly saving target · runtime views
- Shared travel cost · runtime views
- Currency conversion · runtime views
- Electric energy · runtime views
- Water tank volume · runtime views
- Box surface area · runtime views
- Temperature difference · runtime views
- Distance in metres · runtime views
- Minutes to seconds · runtime views
- Average of three observations · runtime views
- Gross profit · runtime views
- Profit margin · runtime views
- Break-even units · runtime views
- Stock reorder quantity · runtime views
- Inventory value · runtime views
- Attendance percentage · runtime views
- Exam marks required · runtime views
- Download duration · runtime views
- Image pixel count · runtime views
- Uncompressed RGB bytes · runtime views
- Website conversion rate · runtime views
- Cost per lead · runtime views
- Click-through rate · runtime views
- Return on ad spend · runtime views
- Email open rate · runtime views
- Course completion rate · runtime views
- Class fee balance · runtime views
- Tutor hours per learner · runtime views
- Parcel dimensional volume · runtime views
- Recipe scaling · runtime views
- Mixture concentration · runtime views
- Battery remaining time · runtime views
05Composition & collections
- Student owns an address value
- Shopping cart of item objects
- Find an object by identifier
- Sort objects by a field
- Non-owning teacher association
- Template class for reusable storage
- Journey speed · composed report
- Triangle area · composed report
- Room perimeter · composed report
- Paint coverage · composed report
- Fuel economy · composed report
- Simple interest · composed report
- Percentage improvement · composed report
- Weighted assessment · composed report
- Tax-inclusive price · composed report
- Discounted price · composed report
- Hourly earnings · composed report
- Overtime earnings · composed report
- Monthly saving target · composed report
- Shared travel cost · composed report
- Currency conversion · composed report
- Electric energy · composed report
- Water tank volume · composed report
- Box surface area · composed report
- Temperature difference · composed report
- Distance in metres · composed report
- Minutes to seconds · composed report
- Average of three observations · composed report
- Gross profit · composed report
- Profit margin · composed report
- Break-even units · composed report
- Stock reorder quantity · composed report
- Inventory value · composed report
- Attendance percentage · composed report
- Exam marks required · composed report
- Download duration · composed report
- Image pixel count · composed report
- Uncompressed RGB bytes · composed report
- Website conversion rate · composed report
- Cost per lead · composed report
- Click-through rate · composed report
- Return on ad spend · composed report
- Email open rate · composed report
- Course completion rate · composed report
- Class fee balance · composed report
- Tutor hours per learner · composed report
- Parcel dimensional volume · composed report
- Recipe scaling · composed report
- Mixture concentration · composed report
- Battery remaining time · composed report
06Data structures: stacks & queues
- Standard stack: last in, first out
- Fixed-capacity stack class
- Balanced parentheses using a stack
- Undo commands with a stack
- Standard queue: first in, first out
- Circular queue class
- Linked stack with unique ownership
- Priority queue serves the largest first
- Reusable vector-backed stack template
- Sorted collection with binary search
- Reverse digits with a stack
- Reverse a sentence using a character stack
- Stack size after removals
- Copy a stack without consuming the original
- Sum stack values while draining
- Find the minimum in a stack copy
- Evaluate a postfix expression
- Validate all bracket types
- Next greater element
- Daily warmer-temperature wait
- Adjacent duplicate cancellation
- Backspace text processing
- Stock span with a monotonic stack
- Undo then redo a numeric state
- Queue front and back
- Count arrivals remaining
- Sum a queue without losing it
- Reverse a queue using a stack
- Rotate a queue by two
- Separate odd and even queue values
- Interleave two queues
- Generate binary strings in order
- Round-robin work scheduler
- Breadth-first levels of a binary tree
- Smallest-first priority queue
- Keep the three largest values
- Merge two sorted streams
- Priority with stable ticket tie-break
- Deque from both ends
- Palindrome through a deque
- Sliding-window maximum
- Distinct values with a set
- Frequency map
- Membership lookup with a set
- Queue of structured jobs
- Stack of coordinate pairs
- Queue capacity rule
- Transfer between two stacks
- Minimum alongside each push
- Queue waiting-time accumulation
07Files & persistent classes
- Write and read a text file
- Append an attendance entry
- Save and load a record object
- Reject malformed file records
- Persist stack order in a file
- Persist queue order in a file
- Handle a missing file explicitly
- File statistics as a report class
- Count values above a threshold · file workflow
- Sum only even values · file workflow
- Second distinct largest value · file workflow
- Remove duplicate neighbours · file workflow
- Remove all duplicates after sorting · file workflow
- Rotate left by two positions · file workflow
- Rotate right by one position · file workflow
- Insert at a checked index · file workflow
- Erase a selected position · file workflow
- Erase every matching value · file workflow
- Partition positive and negative values · file workflow
- Prefix sums · file workflow
- Suffix sums · file workflow
- Adjacent differences · file workflow
- Range sum from prefix totals · file workflow
- Moving average window · file workflow
- Largest contiguous subarray sum · file workflow
- First missing positive integer · file workflow
- Majority candidate with verification · file workflow
- Find a pair with a target sum · file workflow
- Two-pointer pair search · file workflow
- Selection-sort positions · file workflow
- Insertion-sort shifts · file workflow
- Binary search by hand · file workflow
- Lower-bound insertion index · file workflow
- Count a value in sorted data · file workflow
- Median after sorting · file workflow
- Reverse each pair · file workflow
- Swap the first and last halves · file workflow
- Check nondecreasing order · file workflow
- Count local peaks · file workflow
- Longest increasing contiguous run · file workflow
- Move zeros to the end · file workflow
- Replace negatives with zero · file workflow
- Clamp values to a range · file workflow
- Scale every element · file workflow
- Copy only passing marks · file workflow
- Index of the last occurrence · file workflow
- Count distinct values without sorting · file workflow
- Find all equal-index distances · file workflow
- Cumulative maximum · file workflow
- Cumulative minimum · file workflow
Scope in Pakistan, the Gulf and abroad
Use these directions to plan your next steps. They are learning and portfolio suggestions, not a list of current vacancies or a guarantee of employment.
Pakistan
Build class-based projects that show reasoning, data handling and maintainability. This can strengthen further study and technical portfolio discussions.
Gulf countries
Explore specialised software directions after adding real project and domain experience. Requirements for professional C++ roles vary considerably.
Other countries & remote work
OOP and data structures support broader software engineering. A strong portfolio, testing and relevant system knowledge matter beyond completing course exercises.
Software Developers — United States
A broader occupation to research as you build experience. These figures describe U.S. employees across experience levels, not earnings after this course.
| 10th percentile | Median | 90th percentile |
|---|---|---|
| $39.64/hr | $65.38/hr | $103.21/hr |
Percentiles show points in a wage distribution; they are not minimum or maximum offers. This is not beginner pay or a freelance quote. Pakistan and Gulf offers depend on the actual role, experience and package; no universal local USD/hour rate is claimed.
View the original occupation wage table ↗Source checked 2 November 2026.For current Gulf-market research, see the Hays GCC Salary Guide 2026. Confirm the specific employer’s duties, required experience and entry conditions before relying on an offer.
Frequently asked questions
Should I complete Level 1 first?
Yes, or have equivalent knowledge of C++ variables, loops, arrays and functions.
Does this cover files, stacks and queues?
Yes. Those topics connect class design to persistent application examples. Run C++ locally for actual execution.
Which learning modes can I request?
Self-study, tutor support, onsite classes near GPO in Sadar, Rawalpindi Cantt, and online classes via Google Meet. Admin confirms available guided class slots before payment.
What is the course fee?
PKR 20,000 is the listed total course fee. Confirm the agreed fee, duration, learning mode and schedule with Cody.pk before paying.
What can I see before enrolling?
The course description, curriculum outline, fees and public guides are available to browse. The editor, exercises and study materials require the relevant active enrollment, including any free place assigned by admin.
How do I apply and get access?
Apply with this course selected, your name, email and WhatsApp number. Choose your mode and, where required, an available class slot. Submit payment details through checkout. Access opens after admin verifies the payment and activates the enrollment.
Can I download study materials?
The student workspace shows materials for your enrolled course. Course-bundle downloads are available when admin enables download permission for your enrollment.
Are the international hourly figures a job or income promise?
No. They are 2025 U.S. employee occupation statistics, covering different experience levels. They are not beginner pay, freelance billing rates, Pakistan or Gulf offers, or a prediction of income after this course.
Course conversation
Questions and learning experiences about C++ Level 2 · OOP.
Join the conversation
Keep it helpful and relevant. Comments appear after admin review. Your public name and comment may be displayed; your account email is visible only to admin. Please leave out phone numbers and private details.
Choose your pace. Make a start.
Request self-study, tutor support, onsite classes or online Google Meet classes. Guided modes use admin-managed class slots. Confirm your agreed fee and schedule before payment.
- ApplySend your name, email, WhatsApp and learning goals.
- Confirm the planAgree your mode, available slot and fee with Cody.pk.
- Pay & startPayment verification and activation open the enrolled course.
Manual Easypaisa: Rashid Irshad · 03145366708. Raast ID: 03145366708. Use the course checkout to confirm the amount and submit your payment reference for verification.


Start a useful conversation.
No published comments yet. Ask about the course or share your learning experience.