You are taking quiz cppquiz.org/q/1efsg. After 0 of 10 questions, you have 0.00 points.

Question #189 Difficulty: 2

According to the C++17 standard, what is the output of this program?

    #include <iostream>

struct A {
  virtual int fn(int i = 5) const { return i + 1; }
};

struct B : A {
  virtual int fn(int i = 7) const override { return i + 2; }
};


void run(const A& a) {
  std::cout << a.fn(1) << a.fn();
}

int main() {
  run(B());
}

Hint:

Can the implementation use the dynamic type of an object when determining the default argument to a function?

Answer:

Mode : Quiz

If you want to quit the current quiz and go back to training mode, click here.