You've answered 0 of 129 questions correctly. (Clear)

Question #18 Difficulty: 1

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

    #include <iostream>

class A {
  virtual void f() { std::cout << "A"; }

class B : public A {
  void f() { std::cout << "B"; }

void g(A &a) { a.f(); }

int main() {
  B b;


What is the type of the expression a?
What is the dynamic type of a?
Which of these is used for access checking, and which is used to select which f() to call?


Problems? View a hint or try another question.

I give up, show me the answer (make 3 more attempts first).

Mode : Training

You are currently in training mode, answering random questions. Why not Start a new quiz? Then you can boast about your score, and invite your friends.


Create your own!

Android app

Get Sergey Vasilchenko's CppQuiz Android app.