OOP:cout 输出的方法
OOP: Method for cout output
我必须创建一个方法,在屏幕上打印所有收集的数据,这是我的尝试:
bool UnPackedFood::printer() {
cout << " -- Unpacked Products --" << endl;
cout << "barcode: " << getBarcode() << endl;
cout << "product name: " << getBezeichnung() << endl << endl;
cout << "weight: " << getGewicht() << endl;
cout << "price" << getKilopreis() << endl;
return true;
}
我的主要是:
UnPackedFood upf;
cout << upf.printer();
这向我展示了正确的输出,但它仍然返回一个 bool 值,我实际上并不需要它。我试图将该方法声明为无效,但那不起作用。
三种可能的解决方案:
不要做cout << upf.printer();
,不需要输出,因为函数本身会输出。
不是写入 printer
函数中的输出,而是附加到字符串和 return 字符串。
为UnPackedFood
重载operator<<
,这样你就可以std::cout << upf;
您应该为输出流重载 <<
运算符。然后当您键入 cout << upf
时,它将打印您的产品。
查看 this example 并尝试执行类似于以下代码段的操作:
class UnPackedFood {
...
public:
...
friend ostream & operator<< (ostream &out, const UnPackedFood &p);
};
ostream & operator<< (ostream &out, const UnPackedFood &p) {
out << " -- Unpacked Products --" << endl;
out << "barcode: " << p.getBarcode() << endl;
out << "product name: " << p.getBezeichnung() << endl << endl;
out << "weight: " << p.getGewicht() << endl;
out << "price" << p.getKilopreis() << endl;
return out;
}
我必须创建一个方法,在屏幕上打印所有收集的数据,这是我的尝试:
bool UnPackedFood::printer() {
cout << " -- Unpacked Products --" << endl;
cout << "barcode: " << getBarcode() << endl;
cout << "product name: " << getBezeichnung() << endl << endl;
cout << "weight: " << getGewicht() << endl;
cout << "price" << getKilopreis() << endl;
return true;
}
我的主要是:
UnPackedFood upf;
cout << upf.printer();
这向我展示了正确的输出,但它仍然返回一个 bool 值,我实际上并不需要它。我试图将该方法声明为无效,但那不起作用。
三种可能的解决方案:
不要做
cout << upf.printer();
,不需要输出,因为函数本身会输出。不是写入
printer
函数中的输出,而是附加到字符串和 return 字符串。为
UnPackedFood
重载operator<<
,这样你就可以std::cout << upf;
您应该为输出流重载 <<
运算符。然后当您键入 cout << upf
时,它将打印您的产品。
查看 this example 并尝试执行类似于以下代码段的操作:
class UnPackedFood {
...
public:
...
friend ostream & operator<< (ostream &out, const UnPackedFood &p);
};
ostream & operator<< (ostream &out, const UnPackedFood &p) {
out << " -- Unpacked Products --" << endl;
out << "barcode: " << p.getBarcode() << endl;
out << "product name: " << p.getBezeichnung() << endl << endl;
out << "weight: " << p.getGewicht() << endl;
out << "price" << p.getKilopreis() << endl;
return out;
}