我将对象作为指针传递,然后我想使用传递的对象值将它们分配给其他方法。
这就是我传递对象的方式:
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();
}