Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the type errors pattern
Totals that concatenate, sorts that put 10 before 9, comparisons that refuse to run.
What went wrong: Passing a derived object by value to a function expecting a base class copies only the base portion of the object. This phenomenon, called object slicing, strips the derived class vtable and members.
The fix: Pass the polymorphic object by reference (const Shape& s) or pointer.
Remember: Always pass polymorphic C++ classes by reference or pointer to preserve virtual dispatch.
The pattern behind it: type errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/976e25f1-e716-4328-9cd4-b96a95cd523e" title="Debugging challenge: Object slicing in polymorphic base class pass-by-value" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/976e25f1-e716-4328-9cd4-b96a95cd523e">TryBugHunt</a></p>