义一个关于Book的类: (1)数据成员:书名name(用string类定义)、编号num、价格price、数量count (2)成员函数: 1)带默认参数的构造函数(用函数初始化列表的形式) 2)入库函数 void add(int n);//表示n本书入库,修改count的值 3)出库函数 void sub(int n);//表示n本书出库,修改count的值 4)输出函数 void show(); 5) 取书名的函数 string getname(); 6) 取数量的函数 int getcount(); 7)析构函数 8)拷贝构造函数 (3)测试:在main函数中定义大小为6对象数组并初始化,输出其中价格最高的书的信息。
时间: 2024-02-10 11:03:36 浏览: 121
好的,以下是关于Book类的代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Book {
private:
string name;
string num;
double price;
int count;
public:
Book(string _name = "", string _num = "", double _price = 0, int _count = 0)
: name(_name), num(_num), price(_price), count(_count) {}
void add(int n) {
count += n;
}
void sub(int n) {
if (count >= n) {
count -= n;
} else {
cout << "库存不足!" << endl;
}
}
void show() {
cout << "书名:" << name << endl;
cout << "编号:" << num << endl;
cout << "价格:" << price << endl;
cout << "库存:" << count << endl;
}
string getname() {
return name;
}
int getcount() {
return count;
}
~Book() {}
Book(const Book& other) {
name = other.name;
num = other.num;
price = other.price;
count = other.count;
}
};
int main() {
Book books[6] = {
Book("C++ Primer", "1001", 88.0, 10),
Book("Effective C++", "1002", 68.0, 5),
Book("Thinking in Java", "1003", 98.0, 3),
Book("Design Patterns", "1004", 128.0, 7),
Book("The C Programming Language", "1005", 48.0, 12),
Book("Programming Pearls", "1006", 58.0, 8)
};
double max_price = 0.0;
int max_index = 0;
for (int i = 0; i < 6; i++) {
if (books[i].getcount() > 0 && books[i].getcount() > max_price) {
max_price = books[i].getcount();
max_index = i;
}
}
books[max_index].show();
return 0;
}
```
在上面的代码中,我们首先定义了一个 Book 类,其中包含了书名、编号、价格和数量等数据成员,以及对应的构造函数、入库函数、出库函数、输出函数、取书名函数、取数量函数、析构函数和拷贝构造函数等成员函数。在 main 函数中,我们定义了一个大小为 6 的对象数组并初始化,然后遍历这个数组,找到价格最高的书,并输出其信息。
希望这个示例代码能够帮助你更好地理解如何定义一个 Book 类。
阅读全文