module inheritance;

final class A
{
  private:
    int _a;
    int _b;

  public:
    this(int a, int b)
    {
        _a = a;
        _b = b;
    }

    int varSum()
    {
        return _a + _b;
    }
}

final class B
{
  private A base;

  alias base this;

  this(int a, int b)
  {
      base = new A(a, b);
  }

  int varProd()
  {
      return _a * _b;
  }
}

