Classes#1

PHOTO EMBED

Fri Mar 11 2022 10:29:48 GMT+0000 (Coordinated Universal Time)

Saved by @gtsekas #c++

#include <iostream>

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

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

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

int main() {
  B b;
  g(b);
}
content_copyCOPY

Answer The program is guaranteed to output: A Explanation As long as A::f() is not virtual, A::f() will always be called, even if the reference or pointer is actually referring to an object of type B.

https://cppquiz.org/