C++ 继承方式 与 普通方式 对比
1 //C++ 继承
2 //继承是面向对象三大特性之一
3
4 #include <iostream>
5 #include <string>
6 using namespace std;
7
8 //普通实现页面***********************************************
9
10 ////Java页面
11 //class Java
12 //{
13 //public:
14 // void header()
15 // {
16 // cout << "首页,公开课,,登录,注册....(公共头部)" << endl;
17 // }
18 // void footer()
19 // {
20 // cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
21 // }
22 // void left()
23 // {
24 // cout << "java,python,C++.....(公共类列表)" << endl;
25 // }
26 //
27 // void content()
28 // {
29 // cout << "Java学科视频" << endl;
30 // }
31 //
32 //
33 //};
34 //
35 ////Python
36 //class Python
37 //{
38 //public:
39 // void header()
40 // {
41 // cout << "首页,公开课,,登录,注册....(公共头部)" << endl;
42 // }
43 // void footer()
44 // {
45 // cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
46 // }
47 // void left()
48 // {
49 // cout << "java,python,C++.....(公共类列表)" << endl;
50 // }
51 //
52 // void content()
53 // {
54 // cout << "Python学科视频" << endl;
55 // }
56 //
57 //
58 //};
59 //
60 //
61 ////C++
62 //class Cpp
63 //{
64 //public:
65 // void header()
66 // {
67 // cout << "首页,公开课,,登录,注册....(公共头部)" << endl;
68 // }
69 // void footer()
70 // {
71 // cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
72 // }
73 // void left()
74 // {
75 // cout << "java,python,C++.....(公共类列表)" << endl;
76 // }
77 //
78 // void content()
79 // {
80 // cout << "C++学科视频" << endl;
81 // }
82 //
83 //
84 //};
85 //void test01()
86 //{
87 // cout << "Java下载视频页面如下:" << endl;
88 // Java ja;
89 // ja.header();
90 // ja.footer();
91 // ja.content();
92 // ja.left();
93 //
94 // cout << "**********************************" << endl;
95 // cout << "Python的下载页面" << endl;
96 // Python py;
97 // py.header();
98 // py.footer();
99 // py.content();
100 // py.left();
101 //
102 // cout << "*************************************" << endl;
103 // cout << "Cpp的下载页面" << endl;
104 // Cpp cpp;
105 // cpp.header();
106 // cpp.footer();
107 // cpp.content();
108 // cpp.left();
109 //}
110 //普通实现页面***********************************************
111
112 //继承实现页面
113
114 //公共页面类
115
116 class BasePage
117 {
118 public:
119 void header()
120 {
121 cout << "首页,公开课,,登录,注册....(公共头部)" << endl;
122 }
123 void footer()
124 {
125 cout << "帮助中心,交流合作,站内地图...(公共底部)" << endl;
126 }
127 void left()
128 {
129 cout << "java,python,C++.....(公共类列表)" << endl;
130 }
131
132 };
133
134 //继承的好处:减少重复代码
135 //语法:class 子类 :继承方式 父类
136 //子类 也称为 派生类
137 //父类 也称为 基类
138
139
140 //Java页面
141 class Java :public BasePage
142 {
143 public:
144 void content()
145 {
146 cout << "Java学科视频 " << endl;
147 }
148 };
149
150 //Python页面
151 class Python :public BasePage
152 {
153 public:
154 void content()
155 {
156 cout << "Python学科视频 " << endl;
157 }
158 };
159
160 //Cpp页面
161 class Cpp : public BasePage
162 {
163 public:
164 void content()
165 {
166 cout << "Cpp学科视频" << endl;
167 }
168 };
169
170 void test02()
171 {
172 cout << "Java下载视频页面如下:" << endl;
173 Java ja;
174 ja.header();
175 ja.footer();
176 ja.content();
177 ja.left();
178
179 cout << "**********************************" << endl;
180 cout << "Python的下载页面" << endl;
181 Python py;
182 py.header();
183 py.footer();
184 py.content();
185 py.left();
186
187 cout << "*************************************" << endl;
188 cout << "Cpp的下载页面" << endl;
189 Cpp cpp;
190 cpp.header();
191 cpp.footer();
192 cpp.content();
193 cpp.left();
194 }
195
196 int main()
197 {
198 //test01();
199 test02();
200 }
C++ 继承方式 与 普通方式 对比的更多相关文章
- js实现继承的5种方式 (笔记)
js实现继承的5种方式 以下 均为 ES5 的写法: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承 ...
- JS几种数组遍历方式以及性能分析对比
前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...
- 《JS高程》实现继承的6种方式(完整版)
许多OO语言都支持 两种继承方式: (1)接口继承:只继承方法签名: (2)实现继承:继承实际的方法. ECMAScript 由于函数没有签名,无法实现接口继承,因此只支持实现继承,而且主要是依靠原型 ...
- javascript实现继承的几种方式
原型链方式实现继承 function SuperType(){ this.property = true; this.colors = ['red','blue','green']; } SuperT ...
- javascript(js)创建对象的模式与继承的几种方式
1.js创建对象的几种方式 工厂模式 为什么会产生工厂模式,原因是使用同一个接口创建很多对象,会产生大量的重复代码,为了解决这个问题,产生了工厂模式. function createPerson(na ...
- js实现继承的5种方式
js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现 ...
- js 实现继承的6种方式(逐渐优化)
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- JS几种变量交换方式以及性能分析对比
前言 "两个变量之间的值得交换",这是一个经典的话题,现在也有了很多的成熟解决方案,本文主要是列举几种常用的方案,进行大量计算并分析对比. 起由 最近做某个项目时,其中有一个需求是 ...
- js 实现继承的几种方式
//js中实现继承的几种方式 //实现继承首先要有一个父类,先创造一个动物的父类 function Animal(name){ this.name = name; this.shoot = funct ...
- javascript中实现继承的几种方式
javascript中实现继承的几种方式 1.借用构造函数实现继承 function Parent1(){ this.name = "parent1" } function Chi ...
随机推荐
- [HTML]图像标签<img>的用法、属性及路径问题
图像标签:<img> 用法:<img src = "图像地址"> 图像标签的属性 属性 说明 src 指明图像的地址(分为相对路径和绝对路径两 ...
- 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- Unity不规则按钮点击区域(UGUI)
文章目录 一. 前言 二. 最终效果 三. 实现 1.创建UICamera 2. UIPolygon节点 3. 编辑碰撞区域 5. 运行测试 6. UIPolygon代码 一. 前言 游戏开发中,可能 ...
- 35、cobbler自动化安装操作系统
35.1.cobbler介绍: Cobbler是独立的,不需要先安装Kickstart然后再安装Cobbler: Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速 ...
- 22、oracle子查询
22.1.什么是子查询: 1.子查询就是在一条sql语句中嵌入select语句: 2.子查询可区分为关联子查询和非关联子查询,他们和主查询之间的执行顺序和关系是不同的: 22.2.关联子查询: 1.说 ...
- Java+Selenium 上传文件,点击选择“浏览文件”按钮,报错invalid argument
Java+Selenium 上传文件,点击选择"浏览文件"按钮,报错invalid argument 解决代码: Actions action=new Actions(driver ...
- PostgreSQL用户和权限问题
PostgreSQL用户 其实用户和角色都是角色,只是用户是具有登录权限的角色. 创建用户 create user sonar password '123'; 删除用户 drop user sonar ...
- Java:Java的<<<移位运算符详解
1) 左移运算(<<) 左移就是把所有位向左移动几位 如: 12 << 2 意思就是12向左移动两位 12的二进制是: 0000 1100 通过这个图我们 ...
- ZYNQ 中PS端GPIO EMIO使用
ZYNQ 中PS端GPIO EMIO使用 在使用ZYNQ进行开发设计时,往往需要对一些GPIO引脚进行配置,传统的配置方法通常在PL端进行管脚约束之后在Verilog代码中对相应引脚进行配置.这样如果 ...
- ctf之SusCTF2017-Crack Zip
题目信息如下,可知为杂项题,且无提示 下载文件打开如图,该压缩包是加密的 首先想到的是暴力破解,下载zip暴力破解软件打开文件. 下一步,选择暴力破解 进行暴力破解设定,进行破解 破解完成,得到密解压 ...