Witam,
mam problem z kompozycja a mianowicie ja w zamieszczonym kodzie kategorie dodaja sie bez problemow ale przy probie dodania produktu wystepuja jakies problemy (niby pisze ze produkt zostal pomyslnie dodany ale jak chcĘ wyswietlic jego nazwe to juz sa jakies bledy)
#include <iostream>
#include <string.h>
using namespace std;
class Produkty {
char produkt[30];
int rozmiar;
public:
Produkty(int rozmiar, char *produktw){
this -> rozmiar = rozmiar;
strcpy(produkt, produktw);
cout << "Dodano pomyslnie produkt o nazwie: " << produkt << endl;
}
string nazwa(){
return produkt;
}
};
class Kategorie {
Produkty **produkt;
char kategoria[30];
int rozmiar;
public:
Kategorie(int rozmiar, char *kategoriaw){
produkt=new Produkty* [rozmiar];
for(int i=0; i<rozmiar; i++) {
produkt[i]=NULL;
}
this -> rozmiar = rozmiar;
strcpy(kategoria,kategoriaw);
cout << "Dodano pomyslnie kategorie o nazwie: " << kategoria << endl;
}
string nazwa(){
return kategoria;
}
string nazwaprodukt(){
cout << produkt[0]->nazwa();
}
int dodaj_produkt(Produkty *j){
for(int i=0; i<rozmiar; i++){
if(produkt[i]==j)
return 1;
if(produkt[i]==NULL){
produkt[i]=j;
}
}
}
};
class Sklep {
Kategorie **kategoria;
//Zamowienia **zamowienie;
int rozmiar;
public:
Sklep(int rozmiar){
kategoria=new Kategorie* [rozmiar];
for(int i=0; i<rozmiar; i++) {
kategoria[i]=NULL;
}
this -> rozmiar = rozmiar;
}
int dodaj_kategorie(Kategorie *j){
for(int i=0; i<rozmiar; i++){
if(kategoria[i]==j)
return 1;
if(kategoria[i]==NULL){
kategoria[i]=j;
}
}
}
void dodaj_produkt(Produkty *j){
kategoria[0]->nazwaprodukt();
kategoria[0]->dodaj_produkt(j);
}
};
int main()
{
Sklep dzialy(30);
Kategorie *a;
Produkty *p;
a = new Kategorie (20, "Samochody osobowe");
dzialy.dodaj_kategorie(a);
p = new Produkty (1, "Ford Focus");
dzialy.dodaj_produkt(p);
return 0;
}