我正在使用对象指针,并能够使用他们的内存地址来传递和检索信息。
我的程序只传递了书的标题,没有其他信息,我不知道为什么。
如何使该程序正确存储和检索信息?我使用指针来传递值,我应该更改主函数以外的东西吗?
这是我的main.cpp文件:
#include <iostream>
#include <string>
using namespace std;
#include "Book.h"
int main()
{
system("cls");
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;
system("pause");
return 0;
};
book.cpp文件:
#include <iostream>
#include <sstream>
using namespace std;
#include "Book.h"
Book::Book()
{
}
Book::Book(string title, Author *pAuthor, Publisher *pPublisher, double price)
{
this->title = title;
this->price = price;
}
Book::~Book()
{
}
答案 0 :(得分:3)
您正在将pAuther和pPublisher传递给Book构造函数,但没有对它们执行任何操作。
答案 1 :(得分:2)
Book::Book(string title, Author *pAuthor, Publisher *pPublisher, double price)
{
this->title = title;
this->price = price;
}
这里你传递指针但没有使用它们。
答案 2 :(得分:1)
您的book()构造函数需要使用pAuthor和pPublisher中的数据调用setAuthorName和setPublisher函数。