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

Question #312 Difficulty: 1

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

    #include <iostream>

class A {};

class B {
public:
    int x = 0;
};

class C : public A, B {};

struct D : private A, B {};


int main()
{
    C c;
    c.x = 3;

    D d;
    d.x = 3;

    std::cout << c.x << d.x;
}

Hint:

The access specifiers in : private A, B / : public A, B only apply to A, not B. The implicit access specifier for B depends on how the derived class is defined.

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