R gotcha: логический и оператор для объединения условий - & amp; не & amp; & amp;

Скрытие имени имеет смысл, потому что оно предотвращает двусмысленности в разрешении имен.

Рассмотрим этот код:

class Base
{
public:
    void func (float x) { ... }
}

class Derived: public Base
{
public:
    void func (double x) { ... }
}

Derived dobj;

Если Base::func(float) не был скрыт Derived::func(double) в Derived, мы вызывали бы функцию базового класса при вызове dobj.func(0.f), хотя поплавок можно было бы продвигать до двойного.

Ссылка: http://bastian.rieck.ru/blog/posts/ 2016 / name_hiding_cxx /

21
задан smci 18 February 2014 в 00:43
поделиться