C++ не уверен, как использовать один класс в качестве переменной в другом классе
- Привет!
Итак, мое задание состоит в том, чтобы сделать опись книг из файла, который читается программой и помещается в связанный список. Все классы, члены, конструкторы и функции, рассмотренные ниже, должны быть в программе. Единственное добавленное, что я добавляю, это
Date(unsigned int, unsigned int, unsigned int);
Что я уже пробовал:
Ошибка, которую я получаю, просто говорит: "предупреждение: неиспользуемая переменная "опубликована".
Я не думаю, что использую
Date *publishedправильно в
class Book. Я попытался сделать структуру в
class Dateиз переменных там, но это, казалось,только усугубляло мои проблемы.
Я был бы признателен за любой толчок в правильном направлении. Спасибо! Во имя экономии места я опустил некоторые вещи, которые, как мне кажется, работают нормально, но я могу добавить их сюда, если это будет полезно.
#include <iostream> #include <fstream> #include <string> using namespace std; class Date{ public: unsigned int day; unsigned int month; unsigned int year; Date(void); Date(unsigned int, unsigned int, unsigned int); ~Date(void); }; Date::Date(void){ day = 0; month = 0; year = 0; } Date::Date(unsigned int day, unsigned int month, unsigned int year){ day = day; month = month; year = year; } Date::~Date(void){ } class Book{ public: string title; string author; Date *published; string publisher; float price; string isbn; unsigned int pages; unsigned int copies; Book(void); Book(string, string, Date, string, float, string, unsigned int, unsigned int ); ~Book(void); }; Book::Book(void){ title = ""; author = ""; Date *published = NULL; publisher = ""; price = 0; isbn = ""; pages = 0; copies = 0; } Book::Book( string title, string author, Date published, string publisher, float price, string isbn, unsigned int pages, unsigned int copies){ title = title; author = author; published = published; publisher = publisher; price = price; isbn = isbn; pages = pages; copies = copies; } void LinkedList::print_list(void){ Node *temp = head; while( temp != NULL ){ cout << temp->book->title << endl; cout << temp->book->author << endl; cout << temp->book->published << endl; cout << temp->book->publisher << endl; cout << temp->book->price << endl; cout << temp->book->isbn << endl; cout << temp->book->pages << endl; cout << temp->book->copies << endl; temp = temp->next; cout << endl; } } int main() { LinkedList myList; ifstream myfile("booklist.txt"); string title; string author; Date published; string publisher; float price; string isbn; unsigned int pages; unsigned int copies; while( myfile ){ myList.insert_front( new Book(title, author, published, publisher, price, isbn, pages, copies)); myfile >> title; myfile >> author; myfile >> publisher; myfile >> price; myfile >> isbn; myfile >> pages; myfile >> copies; } myList.print_list(); return 0; }