Y at-il une solution ou je dois garder exactement les types de classe?C++ héritage non reconnu
// fichier en-tête
Class Car {
public:
Car();
virtual ~Car();
};
class Bmw:Car {
public:
Bmw();
virtual ~Bmw();
};
void Start(Car& mycar) {};
// fichier cpp
Car::Car(){}
Car::~Car() {}
Bmw::Bmw()
:Car::Car(){}
Bmw::~Bmw() {}
int main() {
Car myCar;
Bmw myBmw;
Start(myCar); //works
Start(myBmw); //!! doesnt work
return 0;
}
Pourquoi 'Start' n'est-il pas une méthode de voiture? – Johnsyweb
Aussi, vous n'avez pas besoin de se référer à Car comme Car :: Car(), il est bon de se référer simplement à la voiture. 'Bmw :: Bmw(): Car() {}' est parfaitement valide. – Puppy