Перейти к содержимому
Тест · Классы и ООП · урок 9 из 13

Тест — производный объект по значению

Что выведет программа?

C++
#include <iostream>

struct Shape {
    virtual int sides() const { return 0; }
};
struct Square : public Shape {
    int sides() const override { return 4; }
};
int by_value(Shape s) { return s.sides(); }
int by_ref(const Shape& s) { return s.sides(); }

int main() { Square sq; std::cout << by_value(sq) << ' ' << by_ref(sq); }