Я студентка. Сегодня я даю интервью и говорю мне что-то новое о наследовании
Я сказал, что производный класс не может получить доступ к свойству или полю базового класса, потому что ниже программа доказывает, поэтому я говорю, что производный класс не может получить доступ к базовому классу. свойство или поле:
using namespace std;
#include<iostream>
class baseclass
{
public:
int a;
baseclass()
{
std::cout << "baseclass\n";
}
};
class deriveclass: public baseclass
{
public:
deriveclass()
{
std::cout << "derived class\n";
}
};
int main()
{
baseclass * a=new baseclass(); //ok
deriveclass * b=new deriveclass(); //ok
baseclass * aa=new deriveclass(); //ok
deriveclass * bb=new baseclass(); //not ok
return 0;
}
Ссылка: https://onlinegdb.com/SyfhRDF_U
ошибка:
main. cpp: In function 'int main ( ) ': main. cpp: 30: 36: ошибка: недопустимое преобразование из «базового класса *» в «производный класс *» [-fpermissive] производный класс * bb = новый базовый класс (); // не в порядке
затем Интервьюер сообщает мне, как получить доступ к свойству и методу базового класса ?