On further though, operator >> for string returns an istream&. The overload for your Car class expects a more specific derived class ifstream. Not all istreams are ifstreams, so there's a mismatch.
It doesn't matter if you have used an istream before, if you are overloading operator >> use it. This way you can input into Car from files, console and stringstreams all the same.