Я работаю над использованием указателей объектов и возможности использовать их адрес памяти для передачи и получения информации.
Моя программа передает только название книги и никакой другой информации, и я не знаю почему.
Как заставить эту программу правильно хранить и извлекать информацию? Я использую указатели для передачи значений, я должен изменить что-то, кроме основной функции?
Это мой файл 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()
{
}
Вы передаете pAuther и pPublisher конструктору Book, но ничего не делаете с ними.
Book::Book(string title, Author *pAuthor, Publisher *pPublisher, double price)
{
this->title = title;
this->price = price;
}
Здесь вы передаете указатели, но не используете их.
Ваш конструктор book () должен вызывать функции setAuthorName и setPublisher с данными из pAuthor и pPublisher.