В производном классе Если я переопределяю/перегружаю имя функции из базового класса,
то эти перегруженные функции недоступны/видимы для производного класса.
Почему это??
Если мы не перегружаем функцию oveloaded из базового класса в производном классе
то все перегруженные версии этой функции доступны для производного класса
объекты, почему это?
в чем причина этого. Если вы объясните это на уровне компилятора и компоновщика
это будет более полезно для меня. не возможно ли поддерживать этот вид сценария?
Edited
For examble:
class B
{
public:
int f() {}
int f(string s) {}
};
class D : public B
{
public:
int f(int) {}
};
int main()
{
D d;
d.f(1);
//d.f(string); //hidden for D
}
Now object 'd' can't access f() and f(string).