朋友 ostream operator << 不会访问私有字段

Friend ostream operator << wont acces private fields

它只是不会访问私有字段

.hpp:
private:
    std::string model;

public:
    Piekarnik &operator << (const Ciasto &ciasto);
    friend std::ostream &operator<<(std::ostream &os, const Ciasto &ciasto);


.cpp:
Piekarnik &Piekarnik::operator<<(const Ciasto &ciasto)
{
    append(ciasto);
    return *this;
}
ostream &operator<<(ostream &os, const Piekarnik &piekarnik) // dwuargumentowy;
{
      os<<"Piekarnik (model: "<<piekarnik.model<<", temperatura: " << piekarnik.obecnyProgram.temperatura <<", pieczenie: " << EnumToString(piekarnik.obecnyProgram.pieczenie) << ", wlozone ciasto: " << EnumToString(piekarnik.wlozoneCiasto.rodzaj);
      return os<<")";
}

error: 'std::string Piekarnik::model' is private

将您的好友声明更改为

friend std::ostream &operator<<(std::ostream &os, const Piekarnik&);