C++定义一个book类,通过函数为对象成员人工赋值,要求有五个对象,包括书名,作者,出版社,单价,除了单价为实型,其余都为字符串,要求包含2个函数成员:图书属性赋值SetBook()和图书属性输出Display(),并输出
时间: 2024-06-13 22:08:41 浏览: 116
以下是C++定义一个Book类的代码,包括SetBook()和Display()函数:
Book.h头文件:
```cpp
#ifndef BOOK_H
#define BOOK_H
#include <string>
using namespace std;
class Book {
private:
string bookName;
string author;
string publisher;
double price;
public:
Book(); // 默认构造函数
Book(string name, string author, string publisher, double price); // 带参数的构造函数
void SetBook(string name, string author, string publisher, double price); // 图书属性赋值函数
void Display(); // 图书属性输出函数
string GetBookName(); // 获取书名的函数
double GetPrice(); // 获取单价的函数
};
#endif
```
Book.cpp实现文件:
```cpp
#include "Book.h"
#include <iostream>
using namespace std;
Book::Book() {
bookName = "";
author = "";
publisher = "";
price = 0.0;
}
Book::Book(string name, string author, string publisher, double price) {
bookName = name;
this->author = author;
this->publisher = publisher;
this->price = price;
}
void Book::SetBook(string name, string author, string publisher, double price) {
bookName = name; this->author = author;
this->publisher = publisher;
this->price = price;
}
void Book::Display() {
cout << "书名:" << bookName << endl;
cout << "作者:" << author << endl;
cout << "出版社:" << publisher << endl;
cout << "单价:" << price << endl;
}
string Book::GetBookName() {
return bookName;
}
double Book::GetPrice() {
return price;
}
```
在main函数中,创建五个Book类型的对象,通过SetBook()函数为对象成员人工赋值,再调用Display()函数输出图书信息:
```cpp
#include "Book.h"
#include <iostream>
using namespace std;
int main() {
Book book1, book2, book3, book4, book5;
book1.SetBook("C++ Primer", "Lippman", "人民邮电出版社", 99.0);
book2.SetBook("Effective C++", "Scott Meyers", "机械工业出版社", 88.0);
book3.SetBook("STL源码剖析", "侯捷", "电子工业出版社", 66.6);
book4.SetBook("深入理解计算机系统", "Randal E. Bryant", "机械工业出版社", 77.7);
book5.SetBook("计算机程序设计艺术", "Donald E. Knuth", "机械工业出版社", 55.5);
book1.Display();
book2.Display();
book3.Display();
book4.Display();
book5.Display();
return 0;
}
```
输出结果:
```
书名:C++ Primer
作者:Lippman
出版社:人民邮电出版社
单价:99
书名:Effective C++
作者:Scott Meyers
出版社:机械工业出版社
单价:88
书名:STL源码剖析
作者:侯捷
出版社:电子工业出版社
单价:66.6
书名:深入理解计算机系统
作者:Randal E. Bryant
出版社:机械工业出版社
单价:77.7
书名:计算机程序设计艺术
作者:Donald E. Knuth
出版社:机械工业出版社
单价:55.5
```
阅读全文