C++问题实现图书类Book

题目描述
定义一个图书类Book,类中包括name(书名)、author(作者)和sale(销售量)3个数据成员以及所有参数都具有默认值的构造函数、析构函数、设置信息的函数(SetInfo())和显示信息的函数(ShowInfo())。
主函数中定义图书类Book对象book1,根据用户输入的信息调用成员函数SetInfo()设置图书信息,并调用成员函数ShowInfo()显示图书信息。同时观察构造函数和析构函数执行顺序。
输入格式
一行,包括书名,作者和销售量(其中书名和作者字符串中均不包含空白字符,销售量为正整数)
输出格式
三行
第一行:构造函数调用信息
第二行:图书信息
第三行:析构函数调用信息
样例输入
C++程序设计 齐建玲 10000
样例输出
构造函数被调用。
书名:C++程序设计
作者:齐建玲
销售量:10000
析构函数被调用。


class Book
{
public:
    Book() : _name(""), _author(""), _sale(0)
    {
        cout << "构造函数被调用" << endl;
    }
    /*Book(string name, string author, int sale) : _name(name), _author(author), _sale(sale)
    {
        cout << "构造函数被调用" << endl;
    }*/

    ~Book()
    {
        cout << "析构函数被调用" << endl;
    }

    void SetInfo(string name, string author, int sale)
    {
        _name = name;
        _author = author;
        _sale = sale;
    }

    void ShowInfo()
    {
        cout << "书名:" << _name.c_str() << endl;
        cout << "作者:" << _author.c_str() << endl;
        cout << "销售量:" << _sale << endl;
    }
private:
    string _name;
    string _author;
    int _sale;
};

int main()
{
    Book* bk = new Book();
    bk->SetInfo("C++程序设计", "齐建玲", 10000);
    bk->ShowInfo();
    delete bk;

    system("pause");
    return 0;
}