首先,创建一个基类 Book,包含书的基本信息,如书名、作者、出版社等。这个类可以包含构造函数、析构函数、复制构造函数等成员函数。可以创建一个派生类 EBook,继承自 Book 类,并增加一些新的成员变量,如电子书的文件格式等。这个类中也可以包含构造函数、析构函数等成员函数。 在主函数中,可以创建一个指向 Book 类的指针数组,然后动态地创建 Book 类的对象和 EBook 类的对象,将这些对象存储到指针数组中。然后,可以通过循环来调用每个对象的 print() 函数,实现多态输出。 另外,可以编写一个静态函数 menu(),用于输出操作菜单,让用户选择要进行的操作,例如添加图书、删除图书等。用c++直接开始编程,不要中断
时间: 2023-02-05 08:29:39 浏览: 116
用c++定义一个Book(图书)类
5星 · 资源好评率100%
好的,下面是用 C++ 编写的示例代码。
首先,我们创建一个基类 Book,包含书的基本信息:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Book {
public:
Book(string name, string author, string publisher)
: name_(name), author_(author), publisher_(publisher) {}
~Book() {}
string getName() { return name_; }
string getAuthor() { return author_; }
string getPublisher() { return publisher_; }
void setName(string name) { name_ = name; }
void setAuthor(string author) { author_ = author; }
void setPublisher(string publisher) { publisher_ = publisher; }
void print() {
cout << "书名: " << name_ << endl;
cout << "作者: " << author_ << endl;
cout << "出版社: " << publisher_ << endl;
}
private:
string name_;
string author_;
string publisher_;
};
```
然后,我们创建一个派生类 EBook,继承自 Book 类,并增加一些新的成员变量:
```cpp
class EBook : public Book {
public:
EBook(string name, string author, string publisher, string format)
: Book(name, author, publisher), format_(format) {}
~EBook() {}
string getFormat() { return format_; }
void setFormat(string format) { format_ = format; }
void print() {
Book::print();
cout << "文件格式: " << format_ << endl;
}
private:
string format_;
};
```
接下来,在主函数中,我们可以创建一个指向 Book 类的指针数组,然后动态地创建 Book 类的对象和 EBook 类的对象,将这些对象存储到指针数组中:
```cpp
int main() {
const int kBookCount = 3;
Book* books[kBookCount];
books[0] = new Book("《C++ Primer Plus》", "Stephen Prata", "电子工业出版社");
books[1] = new EBook("《Efficient C++》", "Scott Meyers", "
阅读全文