fork(1) download
  1. #include <iostream>
  2.  
  3. template <class Derived>
  4. class Base {
  5. public:
  6. Base(Derived& d) : derived(d) {}
  7. void f() { std::cout << "Base\n"; }
  8. virtual ~Base() { derived.f(); }
  9. private:
  10. Derived& derived;
  11. };
  12.  
  13. class Derived : public Base<Derived> {
  14. public:
  15. Derived() : Base<Derived>(*this) {}
  16. virtual void f() { std::cout << "Derived\n"; }
  17. };
  18.  
  19. int main() {
  20. Derived d;
  21. }
  22.  
Runtime error #stdin #stdout 0s 3336KB
stdin
Standard input is empty
stdout
Standard output is empty