C++定义一个book类,通过函数为对象成员人工赋值,要求有五个对象,包括书名,作者,出版社,单价,除了单价为实型,其余都为字符串,要求包含2个函数成员:图书属性赋值SetBook()和图书属性输出D
时间: 2024-06-13 07:08:41 浏览: 194
以下是C++定义一个Book类的代码,包括五个对象,每个对象包含书名、作者、出版社、单价等属性,以及SetBook()和Display()两个成员函数:
Book.h头文件:
```c++
#ifndef BOOK_H
#define BOOK_H
#include <string>
using namespace std;
class Book {
private:
string title; // 书名
string author; // 作者
string publisher; // 出版社
double price; // 单价
public:
Book(); // 默认构造函数
Book(string t, string a, string p, double pr); // 带参数的构造函数
void SetBook(string t, string a, string p, double pr); // 图书属性赋值函数
void Display(); // 图书属性输出函数
~Book(); // 析构函数
};
#endif
```
Book.cpp实现文件:
```c++
#include "Book.h"
#include <iostream>
using namespace std;
// 默认构造函数
Book::Book() {
title = "";
author = "";
publisher = "";
price = 0.0;
}
// 带参数的构造函数
Book::Book(string t, string a, string p, double pr) {
title = t;
author = a;
publisher = p;
price = pr;
}
// 图书属性赋值函数
void Book::SetBook(string t, string a, string p, double pr) {
title = t;
author = a;
publisher = p;
price = pr;
}
// 图书属性输出函数
void Book::Display() {
cout << "书名:" << title << endl;
cout << "作者:" << author << endl;
cout << "出版社:" << publisher << endl;
cout << "单价:" << price << endl;
}
// 析构函数
Book::~Book() {}
```
在testBook.cpp中,创建一个mian函数,在mian函数中创建五个Book类型的对象,并对各对象初始化,调用showBook()成员函数输出各对象的信息,通过相应的SetBook()函数,修改各本书的名称和价格,再输出书的相关信息。
testBook.cpp文件:
```c++
#include "Book.h"
#include <iostream>
using namespace std;
int main() {
Book book1("C++ Primer", "Lippman", "人民邮电出版社", 88.8);
Book book2("Effective C++", "Scott Meyers", "机械工业出版社", 66.6);
Book book3("STL源码剖析", "侯捷", "电子工业出版社", 55.5);
Book book4("深入理解计算机系统", "Randal E. Bryant", "机械工业出版社", 77.7);
Book book5("计算机程序设计艺术", "Donald E. Knuth", "机械工业出版社", 99.9);
cout << "初始图书信息:" << endl;
book1.Display();
book2.Display();
book3.Display();
book4.Display();
book5.Display();
book1.SetBook("C++ Primer Plus", "Stephen Prata", "人民邮电出版社", 99.9);
book2.SetBook("More Effective C++", "Scott Meyers", "机械工业出版社", 88.8);
book3.SetBook("STL源码剖析", "侯捷", "电子工业出版社", 66.6);
book4.SetBook("深入理解计算机系统", "Randal E. Bryant", "机械工业出版社", 77.7);
book5.SetBook("计算机程序设计艺术", "Donald E. Knuth", "机械工业出版社", 111.1);
cout << "修改后图书信息:" << endl;
book1.Display();
book2.Display();
book3.Display();
book4.Display();
book5.Display();
return 0;
}
```
阅读全文