Информация об изменениях

Сообщение Re: Накидайте плиз задачек на знание языка Си++ от 04.04.2025 8:22

Изменено 04.04.2025 8:24 sergii.p

Re: Накидайте плиз задачек на знание языка Си++
Здравствуйте, C0x, Вы писали:

C0x>Если у вас есть какие-нибудь подобного рода перлы, то буду очень благодарен.


я всегда кидаю подобную задачу. С описанием "сделайте ревью кода и приведите исправления, если потребуются"

struct Base
{
    virtual void foo() const { std::cout << "base\n"; }
};

struct Derived: Base {
    virtual void foo() { std::cout << "derived\n"; }
    private: std::string trash {"123456789123456789"};
};

int main() {
    std::vector<Base> vec;
    vec.push_back(Derived{});
    for(const auto& el: vec) {
        el.foo();
    }
}


тут много о чём можно пообщаться. Виртуальные деструкторы, конструкторы копирования, наследование функций, умные указатели и пр.

Ещё бывает по шаблонам спрашиваю. Прошу написать функцию sum, которая суммирует различные типы

sum(std::string{""}, "abc");
sum(0, 1.0);


но это если кандидат отвечает бодро и говорить особо уже не о чем. Большинству хватает первой задачи. К тому же тут всего полчаса — маловато.
Re: Накидайте плиз задачек на знание языка Си++
Здравствуйте, C0x, Вы писали:

C0x>Если у вас есть какие-нибудь подобного рода перлы, то буду очень благодарен.


я всегда кидаю подобную задачу. С описанием "сделайте ревью кода и приведите исправления, если потребуются"

struct Base
{
    virtual void foo() const { std::cout << "base\n"; }
};

struct Derived: Base {
    virtual void foo() { std::cout << "derived\n"; }
    private: std::string trash {"123456789123456789"};
};

int main() {
    std::vector<Base> vec;
    vec.push_back(Derived{});
    for(const auto el: vec) {
        el.foo();
    }
}


тут много о чём можно пообщаться. Виртуальные деструкторы, конструкторы копирования, наследование функций, умные указатели и пр.

Ещё бывает по шаблонам спрашиваю. Прошу написать функцию sum, которая суммирует различные типы

sum(std::string{""}, "abc");
sum(0, 1.0);


но это если кандидат отвечает бодро и говорить особо уже не о чем. Большинству хватает первой задачи. К тому же тут всего полчаса — маловато.