На основании обновленного вопроса:
Ваша проблема в том, что вы нигде не определили переменную Car::Z
. У вас есть объявление для него в классе Car
, но нигде нет определения.
Вам нужно добавить в файл car.cpp строку:
Model* Car::Z;
Или, при желании, если вы хотите дать Z
начальное значение, что-то вроде:
Model* Car::Z = NULL;
В общем, это необходимо для статических переменных-членов, которые являются чем угодно, кроме константных целых чисел. Вам нужно объявление в блоке class { }
, а затем вам также нужно определение в соответствующем файле .cpp, в противном случае вы получите эту ошибку.