polymorphism ×4
Создан 06.01.2025
0
голоса
2
ответов
23
просмотров
Работает ли оператор delete с указателями на базовый класс?

Тема: Нужно ли использовать delete на том же указателе, который был возвращен функцией new, или можно использовать указатель на один из базовых классов?

Описание проблемы: Я столкнулся с вопросом использования оператора delete в контексте наследования виртуальных базовых классов в...

0
голоса
3
ответов
27
просмотров
Переопределение перегруженной функции базового класса в C++

Я столкнулся с проблемой, когда после того, как мой класс переопределил функцию базового класса, все перегруженные версии этой функции оказались скрыты. Это предусмотрено языком или я просто делаю что-то неправильно?

Например:

class foo
{
  public:
    foo(void);
    ~foo(void);
   ...
19
голоса
5
ответов
42
просмотров
Когда использовать виртуальные деструкторы?

У меня есть хорошее понимание большинства теорий объектно-ориентированного программирования (OOP), но один момент, который меня сильно пугает, — это виртуальные деструкторы.

Я полагал, что деструктор всегда вызывается, вне зависимости от ситуации, и для каждого объекта в иерархии классов.

В...

9
голоса
5
ответов
57
просмотров
Является ли List<Собака> подклассом List<Животное>? Почему дженерики в Java не являются неявно полиморфными?

Я немного запутался в том, как дженерики в Java обрабатывают наследование и полиморфизм.

Предположим, у нас есть следующая иерархия:

Животное (родитель)

Собака - Кошка (дочерние классы)

Итак, у меня есть метод doSomething(List animals). Согласно всем правилам наследования и...