编写一个c++程序 满足以下要求:1、Book类包含书号、书名、书价 2、含有无参构造函数、 3、至少一个带参的构造函数. 4、包含析构函数 5、创建两个对象能体现构造函数和析构函数顺序
时间: 2024-10-09 07:08:53 浏览: 36
在C++中,你可以按照以下步骤编写一个满足上述要求的`Book`类:
```cpp
#include <iostream>
using namespace std;
class Book {
public:
// 无参构造函数
Book() : bookId(""), title(""), price(0) {}
// 带参构造函数
Book(string id, string name, double p) : bookId(id), title(name), price(p) {}
// 获取书的信息
void displayInfo() const {
cout << "Book ID: " << bookId << ", Title: " << title << ", Price: " << price << endl;
}
// 析构函数(默认情况自动调用)
~Book() {
cout << "Book object is being destroyed." << endl; // 输出析构函数信息
}
private:
// 数据成员
string bookId;
string title;
double price;
};
int main() {
// 创建第一个Book对象
Book book1;
book1.displayInfo(); // 测试无参构造函数
// 使用带参构造函数创建第二个Book对象
Book book2("001", "The Great Gatsby", 20.99);
book2.displayInfo();
return 0;
}
```
在这个例子中,当在`main`函数中创建`book1`和`book2`时,首先会调用无参和有参的构造函数来初始化对象,然后通过`displayInfo`方法打印出书的信息。当你看到"Book object is being destroyed."这样的输出时,说明析构函数正在被执行,这体现了构造函数和析构函数的调用顺序。
阅读全文