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

Question #52 Difficulty: 1

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

    #include <iostream>

class A;

class B {
  B() { std::cout << "B"; }
  friend B A::createB();

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

  B createB() { return B(); }

int main() {
  A a;
  B b = a.createB();


What does B have to know about A in order to declare A::createB() a friend?


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.