Добавил:
Рад, если кому-то помог Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
860 б
Скачать
#include <iostream>
using namespace std;

class Base {
protected:
    int b1, b2;
public:
    virtual void print() = 0;
    virtual ~Base() = default; // Добавляем виртуальный деструктор для корректного dynamic_cast
};

class Derived : public Base {
    int d;
public:
    void print() override { cout << b1 << b2 << d << endl; }
};

int main() {
    const void *vp; // Меняем на const void*
    const char *str = "test string";
    int x = 5, y = 10;
    Base *bp;
    Derived d, *dp;
    
    // Теперь можно неявно преобразовать const char* в const void*
    vp = str;
    
    cout << x / static_cast<double>(y) << static_cast<const char*>(vp) << endl;

    bp = static_cast<Base*>(&d);
    dp = dynamic_cast<Derived*>(bp);

    return 0;
}
Соседние файлы в папке Лаба7