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

Question #133 Difficulty: 2

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

    #include <iostream>

class A
{
public:
    A() { std::cout << "A"; }
    A(const A &) { std::cout << "a"; }
};

class B: public virtual A
{
public:
    B() { std::cout << "B"; }
    B(const B &) { std::cout << "b"; }
};

class C: public virtual A
{
public:
    C() { std::cout << "C"; }
    C(const C &) { std::cout << "c"; }
};

class D: B, C
{
public:
    D() { std::cout << "D"; }
    D(const D &) { std::cout << "d"; }
};

int main()
{
    D d1;
    D d2(d1);
}

Answer:

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.

Contribute

Create your own!

Android app

Get Sergey Vasilchenko's CppQuiz Android app.

C++ Brain Teasers

Get the book, support the site! C++ Brain Teasers cover