こんにちは、オブジェクトの構成に問題があります。クラス CInvoice には内部に CCustomer オブジェクトが必要なので、顧客を必要とするコンストラクターを作成しました。
Invoice.h ファイルには次の行があります。
CCustomer *customer;
そして、前述のコンストラクターは次のようになります。
CInvoice::CInvoice(CCustomer Customer)
{
customer = &Customer;
}
請求書に顧客の名前を印刷しようとすると、ランダムな文字が返されます
CCustomer customer("McDonalds", "Boston, Massachusetts", 4);
CInvoice invoice(customer);
cout << "Customer:" << customer.GetName() << endl; //it prints "McDonalds"
cout << "Invoice.Customer:" << invoice.customer->GetName() << endl; // it prints random characters
オブジェクト構成を適切に実装しましたか?
また、クラス CInvoiceElement があり、それについて質問があります。請求書オブジェクトを作成せずに請求書要素を作成する必要がありますか、それともその逆ですか? どちらがより論理的ですか?