#include <iostream>

using namespace std;

class A {
public:
  virtual void Fun(int number = 10) {
    cout << "A: Fun with number " << number << endl;
  }
};


class B: public A {
public:
  virtual void Fun(int number = 20) {
    cout << "B: Fun with number " << number << endl;
  }
};


int main(int argc, char **argv) {
  B b;
  A &a = b;

  a.Fun();

  return 0;
}
