pass-to-base.cpp 630 Bytes
#include <stdio.h>
#include <memory>

class BaseClass
{
public:
    BaseClass();
    virtual ~BaseClass() { }
};

class DerivedClass : public BaseClass
{
public:
    DerivedClass();
    virtual ~DerivedClass() { }
protected:
    int mem;
};

BaseClass::BaseClass()
{
}

DerivedClass::DerivedClass() : BaseClass()
{
    mem = 101;
}

int
main (int argc, char **argv)
{
  BaseClass *b = nullptr; // Break here and check b has 0 children
  b = new DerivedClass();  // Break here and check b still has 0 children
  b = nullptr;  // Break here and check b has one child now
  return 0; // Break here and check b has 0 children again
}