HM127 公共页与学科页
HM127 公共页与学科页
来源: 第 127 集 类和对象-继承-基本语法
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
继承是面向对象三大特性之一。下级类既拥有上级的共性,又保留自己的个性。网站里很多栏目页都有相同的头部、底部和左侧分类,只有中间正文不同。若每个栏目都把四段内容整段复制一遍,重复代码会非常多。
请用继承来写这些页面:
- 先写基类(也叫父类)
BasePage,只放公共部分:头部、底部、左侧列表。 - 每个栏目页是派生类(也叫子类)。语法是
class 派生类 : public 基类。冒号后面的public是继承方式;本题只用公共继承。 - 派生类自动拿到基类里那些共性函数,自己再增加一个正文函数,表示个性。
- 不要把头部、底部、左侧再在每个栏目里各写一遍。
读入若干栏目。每个栏目有名称和一段正文。公共三部分的文案由输入给出,所有栏目共享。对每个栏目按固定顺序输出四行公共/个性内容。
输入格式
第一行三个不含空白的字符串 \(h\)、\(f\)、\(l\),依次是头部、底部、左侧列表的文案。
第二行一个整数 \(n\)(\(1 \le n \le 100\)),表示栏目个数。
接下来 \(n\) 行,每行两个不含空白的字符串 \(name\)、\(content\)(长度均 \(1\sim 30\)),表示栏目名和该栏目自己的正文。
输出格式
对每个栏目输出五行,行末换行:
PAGE name
header: h
footer: f
left: l
content: content
栏目与栏目之间不要空行。header / footer / left 必须通过基类成员函数输出,content 必须通过派生类自己新增的成员函数输出。
样例
输入 #1
首页 帮助中心 Java|Python|CPP
3
Java Java学科资料
Python Python学科资料
CPP C++学科资料
输出 #1
PAGE Java
header: 首页
footer: 帮助中心
left: Java|Python|CPP
content: Java学科资料
PAGE Python
header: 首页
footer: 帮助中心
left: Java|Python|CPP
content: Python学科资料
PAGE CPP
header: 首页
footer: 帮助中心
left: Java|Python|CPP
content: C++学科资料
说明
- 子类也称为派生类,父类也称为基类。
- 派生类包含两部分:从基类继承的共性,以及自己新增的个性。
- 样例里三个栏目头部、底部、左侧完全相同,只有正文不同,因此必须抽到基类里只写一次。
信息
- ID
- 1126
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者