online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <iostream> class BaseOfMyClass { public: BaseOfMyClass() {} virtual ~BaseOfMyClass() {} virtual int A() { return -1; } void makeCopy() { BaseOfMyClass * d2 = new std::remove_reference<decltype(*this)>::type(*this); //-- BaseOfMyClass WHY? std::cout<<"A2 ="<<d2->A(); std::cout<<std::endl; decltype(*this) d1(*this); //-- MyClass& - WHY? std::cout<<"A1 ="<<d1.A(); } }; class MyClass: public BaseOfMyClass { public: MyClass(): BaseOfMyClass() {} int A() override { return 2; } }; int main() { MyClass * myClass = new MyClass(); BaseOfMyClass * b = myClass; b->makeCopy(); return 0; }

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