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 ...
随机推荐
- [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark
[源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark 目录 [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark ...
- 记一次ios下h5页面图片显示问题
刚入职公司时做了一个移动端图片预览的组件,之前也有业务组用过,没发现什么问题,但是这次有两个很诡异的问题. 一个是老数据的图不显示,另一个是图片点击预览只显示一部分加载不全.之所以诡异是所有设备都没问 ...
- Docker搭建mysql:5.7版本数据库
搭建MySQL: 1.启动测试mysql,拷贝容器内配置文件到宿主机 mkdr -P /server/docker/mysql/{data,conf} docker run -e MYSQL_ROOT ...
- CRM系统选型时的参考哪些方面
企业不论在制定营销策略或是在进行CRM系统选型时,首先都是要了解自身的需求.每一家企业的情况和需求都有很大差异,CRM系统的功能也都各有偏重.有些CRM偏重销售管理.有些注重于营销自动化.有些则侧重于 ...
- GitLab升级(yum安装版v11.11.8~12.0.12)
参考官方升级建议(注意升级路线:Example upgrade paths) 升级前请自行备份(测试可忽略此步骤) 生成备份文件,在/var/opt/gitlab/backups/目录下生成备份文件 ...
- php mkdir 创建多级目录以及修改权限
mkdir() 用法:mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径:第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权:注意:mode ...
- python 正则表达式 中级
1.子表达式 将几个字符的组合形式看做一个大的字符,例如匹配IP地址,形如 127.0.0.1 答案一:p1='\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' pattern1 ...
- ROS踩坑笔记总结
2019-07-12 11:32:16 我的第一篇原创博客(当然是站在巨人肩膀上,有些内容参考了其他大神的博客,都一一做了说明),这些是我之前在学习ROS期间经历的一些坑,以及相对应的解决方案,希望可 ...
- ZYNQ 中PS端GPIO EMIO使用
ZYNQ 中PS端GPIO EMIO使用 在使用ZYNQ进行开发设计时,往往需要对一些GPIO引脚进行配置,传统的配置方法通常在PL端进行管脚约束之后在Verilog代码中对相应引脚进行配置.这样如果 ...
- C语言:赋值语句
赋值语句 1.赋值号:= 2.赋值号具有方向性,只能将右边的常数 变量的值 表达式的值赋值给左边的变量 3.赋值号左边只能是变量,不能是表达式.常数.符号常量.常量 如下列是非法的语句:a+b=3; ...