我傳遞對象作爲指針,然後我想使用傳遞的對象值將它們分配給其他方法。如何從一個對象的指針傳遞變量?
這是我如何傳遞對象:
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();
}
'pAuthor-> first',數據'pPublisher->城市'等。 – oldrinb
@veer:這將工作,但我的本地變量是私人的。 – HelpNeeder
@HelpNeeder,這正是因爲他們應該是,爲什麼你使用getter和setter函數這正是。 – mah