定义一个Document类,有数据成员name,从Document派生出Book类,增加数据成员pageCount。
时间: 2024-02-28 17:57:15 浏览: 81
好的,以下是对你的问题的回答:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Document {
protected:
string name;
public:
Document(const string& name) : name(name) {}
void setName(const string& name) {
this->name = name;
}
string getName() const {
return name;
}
};
class Book : public Document {
private:
int pageCount;
public:
Book(const string& name, int pageCount) : Document(name), pageCount(pageCount) {}
void setPageCount(int pageCount) {
this->pageCount = pageCount;
}
int getPageCount() const {
return pageCount;
}
};
int main() {
Book book("C++ Primer", 1376);
cout << "Book name: " << book.getName() << endl;
cout << "Number of pages: " << book.getPageCount() << endl;
return 0;
}
```
在上面的代码中,我们定义了一个基类Document,其中有一个字符串类型的数据成员name和相应的setter和getter函数;然后从Document派生出一个Book类,增加了一个int类型的数据成员pageCount和相应的setter和getter函数。
在main函数中,我们创建了一个Book对象book,设置它的name和pageCount,并分别使用getName和getPageCount函数输出它们的值。
输出结果:
```
Book name: C++ Primer
Number of pages: 1376
```
从输出结果可以看出,Book类成功地从Document类派生出来,并且增加了新的数据成员pageCount。
阅读全文