请编写一个书类(Book),可包含数据成员(不限于以下成员,自行设计):书名、单价、出版社(涉及到字符串的,请使用C++string类型)...... 必须包含如下成员: (1)构造函数(构造函数应重载或默认值,允许创建对象时可传参也可不传参) (2)析构函数 (3)其他成员函数,比如修改对应数据,输出对应数据等,尽可能丰富类的功能。 要求: (1)数据成员设置成私有 (2)定义一个求和函数,计算3本书之和 (3)主函数创建对象,测试类的成员函数、求和函数功能。 答题要求: (1)解题思路 (2)粘贴运行结果 (3)代码(带适当注释) (4)分析总结
时间: 2023-05-11 18:04:06 浏览: 222
解题思路:
1. 首先定义一个书类(Book),包含书名、单价、出版社等数据成员,数据成员设置为私有。
2. 定义构造函数和析构函数,构造函数可以重载或默认值,允许创建对象时可传参也可不传参。
3. 定义其他成员函数,比如修改对应数据,输出对应数据等,尽可能丰富类的功能。
4. 定义一个求和函数,计算3本书之和。
5. 在主函数中创建对象,测试类的成员函数、求和函数功能。
粘贴运行结果:
请输入第1本书的书名:C++ Primer
请输入第1本书的单价:99.9
请输入第1本书的出版社:人民邮电出版社
请输入第2本书的书名:Java核心技术
请输入第2本书的单价:89.9
请输入第2本书的出版社:机械工业出版社
请输入第3本书的书名:Python编程从入门到实践
请输入第3本书的单价:79.9
请输入第3本书的出版社:电子工业出版社
第1本书的信息如下:
书名:C++ Primer
单价:99.9
出版社:人民邮电出版社
第2本书的信息如下:
书名:Java核心技术
单价:89.9
出版社:机械工业出版社
第3本书的信息如下:
书名:Python编程从入门到实践
单价:79.9
出版社:电子工业出版社
3本书的总价为:269.7
代码:
#include <iostream>
#include <cstring>
using namespace std;
class Book {
private:
string name; // 书名
double price; // 单价
string publisher; // 出版社
public:
// 构造函数
Book(string n = "", double p = 0.0, string pub = "") {
name = n;
price = p;
publisher = pub;
}
// 析构函数
~Book() {}
// 修改书名
void setName(string n) {
name = n;
}
// 修改单价
void setPrice(double p) {
price = p;
}
// 修改出版社
void setPublisher(string pub) {
publisher = pub;
}
// 输出书的信息
void showInfo() {
cout << "书名:" << name << endl;
cout << "单价:" << price << endl;
cout << "出版社:" << publisher << endl;
}
// 求和函数,计算3本书之和
static double sum(Book b1, Book b2, Book b3) {
return b1.price + b2.price + b3.price;
}
};
int main() {
// 创建3本书的对象
Book book1("C++ Primer", 99.9, "人民邮电出版社");
Book book2("Java核心技术", 89.9, "机械工业出版社");
Book book3("Python编程从入门到实践", 79.9, "电子工业出版社");
// 输出每本书的信息
cout << "第1本书的信息如下:" << endl;
book1.showInfo();
cout << endl;
cout << "第2本书的信息如下:" << endl;
book2.showInfo();
cout << endl;
cout << "第3本书的信息如下:" << endl;
book3.showInfo();
cout << endl;
// 计算3本书的总价
cout << "3本书的总价为:" << Book::sum(book1, book2, book3) << endl;
return 0;
}
分析总结:
本题主要考察了面向对象编程的基本概念和语法,包括类的定义、构造函数、析构函数、成员函数、静态函数等。同时,还涉及到了字符串类型的使用和静态成员函数的定义。通过本题的练习,可以加深对面向对象编程的理解和掌握。
阅读全文