0

我正在使用对象的指针,并能够使用它们的内存地址来传递和检索信息。

我的程序只通过了书名,没有其他信息,我不知道为什么。

如何使该程序正确存储和检索信息?我正在使用指针来传递值,我应该更改主函数以外的内容吗?

这是我的 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()
{
}
4

3 回答 3

3

您将 pAuther 和 pPublisher 传递给 Book 构造函数,但没有对它们做任何事情。

于 2012-09-03T18:25:12.020 回答
2
Book::Book(string title, Author *pAuthor, Publisher *pPublisher, double price)
{
    this->title = title;
    this->price = price;
}

在这里,您正在传递指针但不使用它们。

于 2012-09-03T18:26:34.983 回答
1

您的 book() 构造函数需要使用来自 pAuthor 和 pPublisher 的数据调用 setAuthorName 和 setPublisher 函数。

于 2012-09-03T18:25:43.273 回答