オブジェクトをポインタとして渡しているので、渡されたオブジェクトの値を使用して他のメソッドに割り当てたいと思います。
これが私がオブジェクトを渡す方法です:
Author *pAuthor = new Author("John", "Doe");
Publisher *pPublisher = new Publisher("Wrox", "10475 Crosspoint Blvd.", "Indianapolis");
Book *pBook = new Book("Memory Management", pAuthor, pPublisher, 39.99);
cout << pBook->getBookInfo() << endl;
さて、他のクラスでは、渡された変数をオブジェクトから読み取り、別の場所に割り当てる必要があります。このコードでは、渡された値のみを使用しており、オブジェクトの処理方法がわからないため、オブジェクトは使用していません。
Book::Book(string title, Author *pAuthor, Publisher *pPublisher, double price)
{
this->title = title;
this->price = price;
}
渡されたオブジェクトから渡された値を読み取るにはどうすればよいですか?
編集、私の質問には混乱があるかもしれません。以下のコードは、変数にアクセスし、後でそれらを使用するメソッドに挿入する必要があります。
挿入しようとする各変数は次のようになります。著者のプライベート変数にアクセスしたくないのは、それらがプライベートに設定されているときにアクセスできないためですが、それでもまだ空です。
私が今持っているコードは次のとおりです。
Book::Book(string title, Author *pAuthor, Publisher *pPublisher, double price)
{
this->title = title;
this->price = price;
author.setFirstName();
author.setLastName();
publisher.setName();
publisher.setAddress();
publisher.setCity();
}