Я столкнулся с делом, описанным ниже, и хочу понять, как это работает.У меня есть класс, конструктор которого ожидает другой класс в качестве аргумента.Затем в коде вместо передачи объекта ожидаемого класса в качестве аргумента я вижу объект другого класса (этот класс является базовым для ожидаемого класса).
добавление реального кода:
class s_api {
public:
};
class PB {
public:
PB ( s_api *sa ) {}
};
class TValue : public s_api {
public:
TValue () {}
};
int main() {
TValue tvl;
PB pb(tvl); //tvl is object of class TValue
}
Как это работает)?