Witam chciałbym się was zapytać czy moje funkcje wyszukiwania i edycji są poprawne.
Mam KlasęBazową, KlasęPochodną1, KlasęPochodną2 i KlasęPochodnąPochodnej2.
Szukanie:
Tutaj chciałbym zwrócić obiekt, albo wskaźnik na niego żeby móc wykorzystać tą funkcje w funkcji edytuj.
KlasaBazowa Lista::Szukaj()
{
int odp = 0;
jeszczeRaz:
system("CLS");
std::cout << "szukaj po: 1.nazwie\n2.ilosci" << endl;
cin >> odp;
switch (odp)
{
case 1:
{
std::string nazw;
std::cout << "wyszukaj o nazwie:";
std::cin >> nazw;
for (auto it : lista)
{
if ((it->nazwa).compare(nazw) == 0)
{
return *it;
}
}
}
break;
case 2:
{
int il;
std::cout << "wyszukaj o ilosci:";
std::cin >> il
for (auto it : lista)
{
if ((it->ilosc) == il)
{
return *it;
}
}
}
break;
default:
std::cout << "Wprowadziles zla opcje, sprobuj jeszcze raz." << endl;
goto jeszczeRaz;
break;
}
}
Funkcja edytuj:
void KlasaBazowa::Edytuj()
{
auto obiekt = Szukaj();
obiekt.EdytujDane();
}
Zdaję sobie sprawę że coś tutaj jest nie tak, ale nie wiem co