Cześć,
uczę się programować w c++ i w jednym z poradników znalazłem przykład prostej kompozycji na której chciałem trochę potrenować.
Program staram się uruchomić w QT Creatorze jednak dostaje błędy z którymi nie mogę sobie poradzić. Podpowie ktoś co robię nie tak?
ksiazka.h
#ifndef KSIAZKA_H
#define KSIAZKA_H
#include "Osoba.h"
class Ksiazka
{
public:
Ksiazka(Osoba autor, QString tytul, int cena);
Osoba podajAutor();
QString podajTytul();
int podajCena();
private:
Osoba autor;
QString tytul;
int cena;
};
#endif // KSIAZKA_H
ksiazka.cpp
#include "Ksiazka.h"
#include <Osoba.h>
#include <QString>
Ksiazka::Ksiazka(Osoba autor, QString tytul, int cena)
{
autor = autor;
tytul = tytul;
cena = cena;
}
Osoba Ksiazka::podajAutor()
{
return autor;
}
QString Ksiazka::podajTytul()
{
return tytul;
}
int Ksiazka::podajCena()
{
return cena;
}
osoba.h
#ifndef OSOBA_H
#define OSOBA_H
#include <QString>
class Osoba
{
public:
Osoba(QString nazwisko, QString imie);
QString podajNazwisko();
QString podajImie();
private:
QString nazwisko;
QString imie;
};
#endif // OSOBA_H
osoba.cpp
#include "Osoba.h"
#include <QString>
Osoba::Osoba(QString nazwisko, QString imie)
{
nazwisko = nazwisko;
imie = imie;
}
QString Osoba::podajNazwisko()
{
return nazwisko;
}
QString Osoba::podajImie()
{
return imie;
}
dostaje taki błąd:
błąd: no matching function for call to 'Osoba::Osoba()' Ksiazka::Ksiazka(Osoba autor, QString tytul, int cena)
w lini:
Ksiazka::Ksiazka(Osoba autor, QString tytul, int cena)
jeśli klasa osoba nie przyjmuje w konstruktorze żadnych parametrów program startuje