定义一个Document类,有数据成员name,从Document派生出Book类,增加数据成员pageCount。
时间: 2024-03-18 12:38:58 浏览: 64
好的,这是一个简单的面向对象编程问题。以下是代码实现:
```c++
#include<iostream>
#include<string>
using namespace std;
class Document {
protected:
string name;
public:
Document(string n) : name(n) {}
void show() {
cout << "Name: " << name << endl;
}
};
class Book : public Document {
private:
int pageCount;
public:
Book(string n, int pc) : Document(n), pageCount(pc) {}
void show() {
cout << "Name: " << name << endl;
cout << "Page Count: " << pageCount << endl;
}
};
int main() {
Document d("Document");
Book b("Book", 100);
d.show();
b.show();
return 0;
}
```
运行结果如下:
```
Name: Document
Name: Book
Page Count: 100
```
我们可以看到,Document 类有一个数据成员 name,Book 类从 Document 类派生而来,并增加了一个数据成员 pageCount。Document 类和 Book 类都有一个成员函数 show,但是 Book 类重写了 show 函数,以显示 pageCount。这说明 C++ 支持继承的特性,能够从已有的类派生出新的类,并增加或修改它们的数据成员和成员函数。
阅读全文