конструктор и копи-конструктор
Моля Мартин да се върне малко и да обясни за конструктор и копи-конструктор. На мен не ми е ясно какво става след двете точки в долния ред.
Car(float aPrice) : price(aPrice)
Ето и целия клас от пример Lecture_4_1.
class Car
{
    bool needsARepair;
public:
    Car() {};
    Car(float aPrice) : price(aPrice) {
        needsARepair = true;
    };
    float price;
    friend void Man::crashACar(Car &aCar);
    friend class Mechanic;
};
Доколкото знам след ":" се извиква конструктора на базовия клас като в скобите му се подават аргументи. Но тук няма наследяване а отгоре на всичко "price" е променлива. Защо се прави всичко това? Каква е ползата?