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 ...
随机推荐
- Dagger2入门,以初学者角度
2016-12-21 更新:添加@Subcomponent注解以及Lazy与Provider的使用,本文基本完结!如果有好的建议请提出,感谢大家的支持,谢谢 依赖注入 Dagger2是Android中 ...
- Spring Cloud 整合 Feign 的原理
前言 在 上篇 介绍了 Feign 的核心实现原理,在文末也提到了会再介绍其和 Spring Cloud 的整合原理,Spring 具有很强的扩展性,会把一些常用的解决方案通过 starter 的方式 ...
- SpringCloud Alibaba实战(11:引入服务网关Gateway)
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 大家好,我是三分恶. 在前面的章节中,我们已经完成了服务间的调用.统一配置等等,在这 ...
- HTML骨架解析
在VSCode中按下"!"感叹号便可得到如下的html骨架,没有这些骨架浏览器便不能正常渲染,但是这些骨架分别代表什么含义呢?不急,我们一行一行的看. 1 <!DOCTYPE ...
- XML:No operation was found with the name报错解决办法
当我们使用CXF动态客户端调用WebService接口容易出现如下问题:命名空间问题 Exception in thread "main" org.apache.cxf.commo ...
- php解决约瑟夫环
今天偶遇一道算法题 "约瑟夫环"是一个数学的应用问题:一群猴子排成一圈,按1,2,-,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把 ...
- spring、springmvc、springboot、springcloud的联系与区别
spring和springMvc: 1. spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc).业务层(Ioc) ...
- Linux之19——Shell编程基础详解
第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...
- java+selenium UI自动化001
selenium是一个用于Web应用程序测试的工具,可以用来模拟用户在浏览器上的操作. 支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Googl ...
- c语言:结果不理解
#include <stdio.h> int main() { int a;float b; scanf("a=%d,b=%f",&a,&b); pri ...