Enhancing the adaptive cruise control (ACC) functionality with wireless communication links, in addition to sensors such as radars and/or lidars, cooperative adaptive cruise control (CACC) is facilitated. CACC enables driving at small intervehicle distances, forming a vehicle platoon system, while maintaining string stability (i.e., the disturbance is attenuated along the vehicle string). While string stability is a necessary requirement for the design of vehicle platoons, most of the works are limited to homogeneous vehicles or platoons with a single heterogeneity, which is not often the case in reality. In this work, we make an attempt to provide sufficient conditions for string stability for a very general case of heterogeneous vehicle platoons under the multiple-predecessor following (MPF) topology. More specifically, we focus on the following forms of heterogeneity: different parasitic lags, different time headways, different controller parameters and different communication time delays. First, we obtain sufficient conditions for string stability for the general case. Homogeneous vehicle platoons or platoons with a single heterogeneity constitute special cases. Since providing closed-form expressions for the general case is not feasible, we analyze some simpler, yet practical, cases. In particular, we allow the time headway and the controllers to be identical (this can be part of the design of the vehicle platoons) and we consider the case in which parasitic lags and communication time delays can be different. Case studies are considered in simulations in order to give more insights and limitations of our results.