它不会访问私有字段
.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<<")";
}
错误:'std :: string Piekarnik :: model'是私有的
答案 0 :(得分:0)
将您的朋友声明更改为
friend std::ostream &operator<<(std::ostream &os, const Piekarnik&);