图书类Book(c++)

题目描述
设计一个图书类Book,该类有书名、作者、isbn、价格,出版日期五个数据成员。其中出版日期是Date类的对象。main函数的代码已经给出,请根据main函数代码和对应的输出给出Book类和Date类的代码。(需要提交main函数之外的其他代码部分)

main函数的代码如下:

int main(){

int year,month,day;

string name,author,isbn;

double price;

cin>>year>>month>>day;

Date date(year,month,day);

cin>>name>>author>>isbn>>price;

Book b(name,author,isbn,date,price);

b.printInfo();

return 0;

}

输入描述
输入图书的各种信息

输出描述
输出图书的各种信息

提示
输入:

2018 8 1

C++Programming Mike 12345 35.0

输出:

C++Programming Mike 12345 35

2018/8/1

#include<string>
#include<iostream>
using namespace std;
class Date
{
public:
    Date(int y, int m, int d) :year(y), month(m), day(d)
    {
    }

    int GetYear()const { return year; }
    int GetMonth()const { return month; }
    int GetDay()const { return day; }
private:
    int year, month, day;
};

class Book
{
public:
    Book(const string& n, const string& a, const string& i,
        const Date& d, const double p)
        : name(n), author(a), isbn(i), date(d), price(p)
    {

    }

    void printInfo()
    {
        cout << name << " " << author << " " << isbn << " " << price << endl;
        cout << date.GetYear() << "/" << date.GetMonth() << "/" << date.GetDay() << endl;
    }
private:
    string name, author, isbn;
    Date date;
    double price;
};

int main() {
    int year, month, day;

    string name, author, isbn;

    double price;

    cin >> year >> month >> day;

    Date date(year, month, day);

    cin >> name >> author >> isbn >> price;

    Book b(name, author, isbn, date, price);

    b.printInfo();
    return 0;
}

img