online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> class Base { public: virtual ~Base() = default; virtual void execute() const { std::cout << "Base::execute()\n"; } virtual Base *clone() const { std::cout << "Base::clone()\n"; return new Base(*this); } }; class Derived : public Base { public: virtual void execute() const override { std::cout << "Derived::execute()\n"; } virtual void apply() const { std::cout << "Derived::apply()\n"; } virtual Base *clone() const override { std::cout << "Derived::clone()\n"; return new Derived(*this); } }; int main() { Derived d1; Base *b = d1.clone(); // ... b->execute(); // ... // downcast Base -> Derived Derived *d2 = dynamic_cast<Derived *>(b); if (d2) { d2->apply(); } // ... delete b; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue