#include "alapanyag.hpp"
using namespace std;
Alapanyag::Alapanyag(const string& nev,
double ch, double feh, double zs, double rost,
double ar)
: nev(nev),
szenhidrat_100g(ch), feherje_100g(feh), zsir_100g(zs), rost_100g(rost),
ar_100g(ar)
{}
//Alapanyag::Alapanyag(const Alapanyag& masik)
//
// : nev(masik.nev),
// szenhidrat_100g(masik.szenhidrat_100g), feherje_100g(masik.feherje_100g), zsir_100g(masik.zsir_100g), rost_100g(masik.rost_100g),
// ar_100g(masik.ar_100g)
// {}
string Alapanyag::nev_get() const { return nev; }
double Alapanyag::ch_get() const { return szenhidrat_100g; }
double Alapanyag::feherje_get() const { return feherje_100g; }
double Alapanyag::zsir_get() const { return zsir_100g; }
double Alapanyag::rost_get() const { return rost_100g; }
double Alapanyag::ar_get() const { return ar_100g; }
void Alapanyag::ar_set(double uj_ar) { ar_100g = uj_ar; }
ostream& operator<<(ostream& os, const Alapanyag& a) { // Alapb l NEM tudja a ford t , hogyan kell ki rni egy Alapanyag p ld nyt!
// A C++ csak a be p tett t pusokat (int, double, string, stb.) tudja rtelmesen ki rni.
os << a.nev << " (100g): " // Az operator<< egy bar t vagy k ls f ggv ny,
<< "CH: " << a.szenhidrat_100g << "g, " // amit arra "tan tasz meg", hogy hogyan n zzen ki a ki r sod.
<< "Feh: " << a.feherje_100g << "g, " // Ezt a f ggv nyt h vja meg a cout << objektum kifejez s.
<< "Zs r: " << a.zsir_100g << "g, "
<< "Rost: " << a.rost_100g << "g, " // A f ggv ny k t param tert v r:
<< " r: " << a.ar_100g << " Ft"; // ostream& os a kimeneti adatfolyam (pl. cout)
// const Alapanyag& a az ltalad ki ratand objektum
return os;
}