1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include<iostream> using namespace std; struct Base { virtual void foo () = 0; virtual ~Base() = 0; }; Base::~Base() { cout<<"Base::~Base()\n"; } struct Child : Base { void foo() {} //ok! no destructor needed to create objects of 'Child' }; int main () { Base *p = new Child; delete p; } |
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgQmFzZQp7CiAgdmlydHVhbCB2b2lkIGZvbyAoKSA9IDA7CiAgdmlydHVhbCB+QmFzZSgpID0gMDsKfTsKQmFzZTo6fkJhc2UoKSB7IGNvdXQ8PCJCYXNlOjp+QmFzZSgpXG4iOyB9CnN0cnVjdCBDaGlsZCA6IEJhc2UKewogIHZvaWQgZm9vKCkge30KICAvL29rISBubyBkZXN0cnVjdG9yIG5lZWRlZCB0byBjcmVhdGUgb2JqZWN0cyBvZiAnQ2hpbGQnCn07CgppbnQgbWFpbiAoKQp7CiAgQmFzZSAqcCA9IG5ldyBDaGlsZDsKICBkZWxldGUgcDsKfQ==
-
upload with new input
-
result: Success time: 0s memory: 2856 kB returned value: 0
Base::~Base()


