【问题描述】
定义一个Document类,有数据成员name, 从Document类派生出Book类,增加数据成员pageCount。
主函数已经提供如下,请勿修改:
int main() {
Document a("Document1");
Book b("Book1", 100);
a.PrintNameOf();
b.PrintNameOf();
}
【样例输入】
无
【样例输出】
Document1
Name of book: Book1
【样例说明】输出第一行为Document类对象a的名称;第二行为Book类对象b的名称。输出语句均在PrintNameOf()函数中完成。
#include<iostream>
using namespace std;
#include<string>
class Document{
public:
string name;
Document(string nam){
name=nam;
}
void PrintNameOf(){
cout<<name<<endl;
}
void Documents(string na)
{
name=na;
}
void Set(string nam)
{
name=nam;
}
};
class Book:public Document{
public:
int pageCount;
Book(string na,int n):Document(na)//:Document(na)调用基类的构造函数
{
//如果是普通成员函数而非构造函数 不能使用初始化列表
//Documents(na);这样可
pageCount=n;
}
void PrintNameOf(){
cout<<"Name of book: "<<name;
}
};
int main() {
Document a("Document1");
Book b("Book1", 100);
a.PrintNameOf();
b.PrintNameOf();
}