LINUX.ORG.RU

Сообщения melvin

 

Переключение раскладки по левому контролу

Здравствуйте, можно ли настроить в кедах переключение раскладок так, что бы при зажатом левом контроле раскладка переключалась на первую?

 , ,

melvin
()

C++, ссылки и полиморфизм

Здравствуйте. Есть такой код:

class Base
{
public:
    virtual void print() const
    {
        cout << "base print" << endl;
    }
};

class Derived: public Base
{
public:
    void print() const override
    {
        cout << "derived print" << endl;
    }
};

class Some
{
    Base& obj;

public:
    Some(Base&& a_obj)
        : obj(a_obj)
    {
    }

    void objPrint() const
    {
        obj.print();
    }
};

int main(int, char**)
{
    Some&& s = Some(Derived());
    s.objPrint();
}
Здесь ссылка Some::obj инициализируется объектом типа Derived и в методе Some::objPrint() интерпретируется с типом Derived&, в результате выполнения видим «derived print», но если добавить в класс Base виртуальный деструктор, Some::obj интерпретируется с типом Base& и в результате выполнения - «base print». Почему так происходит, что почитать?

 

melvin
()

RSS подписка на новые темы