Я не понимаю, почему этот код дает ошибку компиляции, это не случай переопределения, потому что список параметров в базовом и дочернем классах различен, так что может кто-нибудь помочь мне в этом.Невозможно вызвать функцию базового класса
#include <iostream>
using namespace std;
class Base
{
public:
void func ()
{
cout<< a ;
}
protected:
int a;
};
class Drived : public Base
{
public:
void func (int inVal)
{
cout<< b <<"-> "<<inVal;
}
protected:
int b;
};
int main(int argc, char* argv[])
{
Drived d;
d.func(); //->Compilation error why and how can we avoid it?
return 0;
}
Спасибо, это решить мою проблему. – P3A
Наследует базовый класс, не приведет к тому, что функция базового класса будет доступна в той же области, что и производная функция класса? – P3A
@ P3A: Нет. Каждый класс определяет отдельный объем. –