Sobes.tech
Junior — Middle
126

C++ dilinde dynamic_cast operatörünün ne anlama geldiğini ve hangi amaçlar için kullanıldığını açıklayabilir misiniz?

Sorulan şirketler
Renga Software

AI'dan gelen yanıt

sobes.tech yapay zeka

Оператор dynamic_cast в C++ используется для безопасного приведения указателей или ссылок в иерархии наследования, особенно при работе с полиморфизмом.

Он позволяет:

  • Преобразовать указатель или ссылку базового класса в указатель или ссылку производного класса.
  • Проверить во время выполнения, действительно ли объект принадлежит целевому типу.

Если преобразование невозможно, для указателей dynamic_cast вернёт nullptr, а для ссылок — выбросит исключение std::bad_cast.

Пример:

class Base { virtual void foo() {} };
class Derived : public Base {};

Base* b = new Derived();
Derived* d = dynamic_cast<Derived*>(b);
if (d) {
    // Преобразование успешно
} else {
    // Преобразование не удалось
}