Czesc.
Zaczalem sie uczyc obiektowego cpp, i mam problem. Po krotkim przeczytaniu mojego kodu bedzie wiadomo o co mi chodzi, ale w skrocie powiem ze chcialbym zeby obiekt Burger mial w sobie inne obiekty. Czy konieczne jest tutaj uzywanie dziedziczenia klas?
Kompilator wywala:
[ERROR] No matching function for call to 'Bulki::Bulki()';
[ERROR] No matching function for call to 'Mieso::Mieso()';
etc.
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
class Bulki
{
public:
Bulki(int idBulki, string nazwaBulki, double cenaBulki);
int idBulki;
string nazwaBulki;
double cenaBulki;
};
class Sery
{
public:
Sery(int idSera, string nazwaSera, double cenaSera);
int idSera;
string nazwaSera;
double cenaSera;
};
class Mieso
{
public:
Mieso(int idMiesa, string nazwaMiesa, double cenaMiesa);
int idMiesa;
string nazwaMiesa;
double cenaMiesa;
};
class Sosy
{
public:
Sosy(int idSosu, string nazwaSosu, double cenaSosu);
int idSosu;
string nazwaSosu;
double cenaSosu;
};
class Burger
{
public:
Burger(Bulki bulka, Mieso mieso, Sery ser, Sosy sos);
Bulki bulka;
Mieso mieso;
Sery ser;
Sosy sos;
};
Bulki::Bulki(int idBulki, string nazwaBulki, double cenaBulki)
{
this->idBulki = idBulki;
this->nazwaBulki = nazwaBulki;
this->cenaBulki = cenaBulki;
}
Sery::Sery(int idSera, string nazwaSera, double cenaSera)
{
this->idSera = idSera;
this->nazwaSera = nazwaSera;
this->cenaSera = cenaSera;
}
Mieso::Mieso(int idMiesa, string nazwaMiesa, double cenaMiesa)
{
this->idMiesa = idMiesa;
this->nazwaMiesa = nazwaMiesa;
this->cenaMiesa = cenaMiesa;
}
Sosy::Sosy(int idSosu, string nazwaSosu, double cenaSosu)
{
this->idSosu = idSosu;
this->nazwaSosu = nazwaSosu;
this->cenaSosu = cenaSosu;
}
Burger::Burger(Bulki bulka, Mieso mieso, Sery ser, Sosy sos)
{
this->bulka = bulka;
this->mieso = mieso;
this->ser = ser;
this->sos = sos;
}
const int sizeOfBulki=3;
const int sizeOfMieso=5;
const int sizeOfSer = 4;
const int sizeOfSosy = 3;
int main(int argc, char** argv) {
//BULKI
Bulki * bulka[sizeOfBulki];
bulka[0] = new Bulki(1,"Pszenna", 1.2);
bulka[1] = new Bulki(2,"Grahamka", 1.5);
bulka[2] = new Bulki(3,"Slonecznikowa", 1.7);
//MIESO
Mieso * mieso[sizeOfMieso];
mieso[0] = new Mieso(1,"Wolowe",5);
mieso[1] = new Mieso(2,"Double wolowe", 6.5);
mieso[2] = new Mieso(3,"Drobiowe", 4);
mieso[3] = new Mieso(4,"Double Drobiowe", 5.5);
mieso[4] = new Mieso(5,"Mieszane",8.30);
//SERY
Sery * ser[sizeOfSery];
ser[0] = new Sery(1,"Cheedar",2);
ser[1] = new Sery(2,"Gouda",1.5);
ser[2] = new Sery(3,"Plesniowy",1.7)
ser[3] = new Sery(4,"Feta",1.1);
//SOSY
Sosy * sos[sizeOfSosy];
sos[0] = new Sosy(1,"Czosnkowy",1.2);
sos[1] = new Sosy(2,"Pomidorowy",1.2);
sos[2] = new Sosy(3,"Majonez",1.2);
return 0;
}