Два сеньора C++ - Владимир и Денис - отныне ваши гиды в этом дремучем мире плюсов.
По всем вопросам (+ реклама) @ninjatelegramm
Менеджер: @Spiral_Yuri
Реклама: https://telega.in/c/grokaemcpp
Мы на TGstat: https://tgstat.ru/channel/@grokaemcpp/stat
Post #695
4.8K
Квиз
Сегодня будет интересный #quiz из малоизвестной области плюсов. А именно дефолтные параметры виртуальных методов. У них немного неинтуитивное поведение. Так что давайте проверим, насколько ваша интуиция вам врет.
Правильный ответ показывать сразу не буду, пусть останется интригой до завтрашнего поста с объяснениями.
У меня к вам всего один вопрос. Каков результат попытки компиляции и запуска следующего кода под С++20?
Challenge your life. Stay cool.
Сегодня будет интересный #quiz из малоизвестной области плюсов. А именно дефолтные параметры виртуальных методов. У них немного неинтуитивное поведение. Так что давайте проверим, насколько ваша интуиция вам врет.
Правильный ответ показывать сразу не буду, пусть останется интригой до завтрашнего поста с объяснениями.
У меня к вам всего один вопрос. Каков результат попытки компиляции и запуска следующего кода под С++20?
#include <iostream>
struct base {
virtual void foo(int a = 0) { std::cout << a << " "; }
virtual ~base() {}
};
struct derived1 : base {};
struct derived2 : base {
void foo(int a = 2) { std::cout << a << " "; }
};
int main() {
derived1 d1{};
derived2 d2{};
base & bs1 = d1;
base & bs2 = d2;
d1.foo();
d2.foo();
bs1.foo();
bs2.foo();
}
Challenge your life. Stay cool.
- ❤ 15
- 👍 7
- 🔥 4