Что Вы называете <<оператор в Ruby, когда он используется для добавления материала?

Вам нужно сделать вашу функцию виртуальной, чтобы a() всегда ссылался на реализацию a() в реальном классе объекта:

class A {
    public:
    virtual int a() {         //<<<<<<<<--------
        return 6;
    }
    int b() {
        return a() - 2;
    }
    virtual ~A() = default;  
};

В вашей версии с не виртуальной функцией тело b() называет единственный a(), который он знает, который является A::a().

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

11
задан Jon Seigel 7 April 2010 в 02:20
поделиться

1 ответ

На самом деле я думаю, добавляют оператор, предпочтительный термин. Это - то, что используется на p. 104 из Языка программирования Ruby.

19
ответ дан 3 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: