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 に答える