Witam. Uczę się programować i najwyraźniej coś przeoczyłem i nie mogę odszukać co, chociaż juz edytowałem kod kilka razy dalej nie wiem gdzie tkwi problem. Domyślam się, żę to coś małego i pewnie dla niektórych śmiesznego, ale chce się uczyć, więc proszę o wyrozumiałość. Z góry dzięki za zainteresowanie i pomoc.
Program pisze w QT, pod linuxem(xubuntu), składa się z 3 plików składowych: main.cpp, pojazdy.h, pojazdy.cpp.
Błedy:
/home/computer/qt/test-build-desktop-Qt_4_8_1_w_PATH__System__Release/main.o:-1: In function `main’:
(.text.startup+0x2c) błąd:undefined reference to `Ccar::Ccar(unsigned int, unsigned int)’
(.text.startup+0x61) błąd:undefined reference to `Cairplane::Cairplane(unsigned int, unsigned int)’
błąd:collect2: ld returned 1 exit status
main.cpp
#include
#include "pojazdy.h"
using namespace std;
int main()
{
Ivehicle* cos;
cos = new Ccar(290,1000);
cos->showDate();
delete cos;
cos = new Cairplane(750,2500);
cos->showDate();
delete cos;
return 0;
}
pojazdy.h
#ifndef POJAZDY_H
#define POJAZDY_H
class Ivehicle{
protected:
unsigned int maxSpeed;
public:
virtual void showDate();
};
class Ccar : public Ivehicle{
protected:
unsigned int maxRange;
public:
Ccar(unsigned int maxSpeed, unsigned int maxRange);
void showDate();
};
class Cairplane : public Ivehicle{
protected:
unsigned int maxCeiling;
public:
Cairplane(unsigned int maxSpeed, unsigned int maxCeiling);
void showDate();
};
#endif // POJAZDY_H
pojazdy.cpp
#include
class Ivehicle{
protected:
unsigned m_maxSpeed;
public:
virtual void showDate(){}
};
class Ccar : public Ivehicle{
protected:
unsigned int m_maxRange;
public:
Ccar(unsigned int maxSpeed, unsigned int maxRange)
{
m_maxSpeed=maxSpeed;
m_maxRange=maxRange;
}
void showDate()
{
std::cout << "\nMax. Szybkosc: " << m_maxSpeed << "\nMax. Zasieg: " << m_maxRange << "\n\n";
}
};
class Cairplane : public Ivehicle{
protected:
unsigned m_maxCeiling;
public:
Cairplane(unsigned maxSpeed, unsigned maxCeiling)
{
m_maxSpeed=maxSpeed;
m_maxCeiling=maxCeiling;
}
void showDate()
{
std::cout << "\nMax. Szybkosc: " << m_maxSpeed << "\nMax. Wysokosc: " << m_maxCeiling << "\n\n";
}
};