エラー C2440: 'return' cannot convert from 'LinkList' to 'Tray *' が発生しているようです。私がやろうとしているのは、2 番目のクラスの出力を顧客クラスの出力に追加することです。したがって、whoIsEating() などのメソッドを呼び出すと、誰が、どこで、何をしたかのリストを簡単に取得できます。「友達」を使うアイデアはありましたが、それについてはよくわかりません。
Customer.h
class Customer
{
private:
int tableNumber;
std::string firstName;
std::string lastName;
LinkList<Tray> *myTray;
public:
Customer();
Customer(std::string sFirstName, std::string sLastName,
int sTableNumber,
LinkList<Tray> *myTray = new LinkList<Tray>());
~Customer(void);
int gettableNumber();
Tray* getTray(void);
顧客.cpp
Tray* Customer::getTray()
{
return *myTray;
}
ostream& operator << (ostream& output, Customer& customer)
{
output << customer.getFirstName() << " " << customer.getLastName() << endl
<< customer.gettableNumber() << endl
<< (*customer.getTray()) << endl; //Edit: Fixed this
return output;
トレイ.cpp
ostream& operator << (ostream& output, Tray& tray)
{
output << "Drink: " << tray.getdrink() << endl;
output << "Food: " << tray.getfood() << endl;
return output;
}
疑わしい出力は次のようになります
名前: ジョン・スミス
テーブル番号: 12
食事の詳細:
お茶を飲む
フード: フィッシュ & チップス