有沒有一些解決方案,或者我必須保持準確的類類型?不承認C++繼承
//頭文件
Class Car {
public:
Car();
virtual ~Car();
};
class Bmw:Car {
public:
Bmw();
virtual ~Bmw();
};
void Start(Car& mycar) {};
// 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;
}
爲什麼「開始」不是汽車的一種方法? – Johnsyweb 2010-05-26 12:46:58
此外,您不需要將汽車稱爲Car :: Car(),將它稱爲Car就可以。 'Bmw :: Bmw():Car(){}'是完全有效的。 – Puppy 2010-05-30 19:21:13