Почему объект mother
способен вызвать функцию father
при приведении типов в son
?C++ typecasting с множественным наследованием
Здесь father
объект не создан, то почему придет drive()
функция получает вызов. Извините за новичков.
#include <iostream>
using namespace std;
#include <iostream>
using namespace std;
class father
{
public:
void drive(){cout<<"Driving";}
};
class mother
{
public:
void cook(){cout<<"Cooking";}
};
class son: public father, public mother
{
};
int main() {
// your code goes here
mother *m = new mother();
son* s = static_cast<son *>(m);
s->drive();
return 0;
}
Использование старинной отливки не дает вам возможности проверить, что вы получаете – doctorlove
Это незаконно. Это может показаться ** работать, но это не так. – BoBTFish
@Coder '(son *)' заставляет компилятор принять то, что он не «вывел» сам по себе. – Scheff