reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
struct A {
  int i = 47;
  int f() { return i; }
  virtual ~A() = default;
};

struct B: public A {
  int j = 42;
};

namespace ns {
struct A {
  int i = 147;
  ::A getA();
  A();
};
A::A() = default;

::A A::getA() {
  ::A a;
  a.i = i - 1;
  return a;
}

} // namespace ns

int foo(A *a) {
  return a->f();
}

int main() {
  return foo(new B);
}