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 ...
随机推荐
- excel函数提取内容中的汉字
RIGHT(A2,LENB(A2)-LEN(A2)) 函数LENB将每个汉字(双字节字符)的字符数按2计数,LEN函数则对所有的字符都按1计数.因此"LENB(A2)-LEN(A2)&quo ...
- Vue3全家桶升级指南一composition API
1.setup() vue3中的composition API中最重要的就是setup方法了,相当于组件的入口,所有的composition API都必须放到setup()中的使用. setup是在组 ...
- SpringBoot:WebSocket使用Service层的方法
方法一: 创建工具类 ApplicationContextRegister.java import org.springframework.beans.BeansException; import o ...
- 6-x3 declare和typeset命令:设置变量属性
declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性.不过 typeset 已经被弃用了,建议使用 declare 代替.declare 命令的用法如下 ...
- Java实验项目三——编程实现Person类,学生类的设计及其继承关系
Program: 编程实现Person类,学生类的设计及其继承关系 代码如下: 定义抽象类Person 1 /* 2 * Description:建立抽象类 3 * 4 * Written By:Ca ...
- 32. Longest Valid Parentheses **堆栈
description: Given a string containing just the characters '(' and ')', find the length of the longe ...
- U149791 正多边形变换
原博客网页--洛谷博客 题目地址 如果您对群论有所了解,那么本题就是对二面体群 \(D_{2n}\) 的简单实现,您可以直接跳到代码部分.下面的解题思路只是对二面体群 \(D_{2n}\) 的构造思路 ...
- 架构之:REST和RESTful
目录 简介 REST REST和RESTful API REST架构的基本原则 Uniform interface统一的接口 Client–server 客户端和服务器端独立 Stateless无状态 ...
- LVGL|lvgl中文手册(lvgl中文文档教程)
lvgl官方的教程是英文的,这个是我在做项目时根据lvgl官方文档做出来的lvgl中文文档(持续更新维护),不仅仅只是生硬照搬lvgl官方文档的翻译,同时总结了我们在实际开发中遇到的各种细节,让这个文 ...
- gitlab部署及汉化
目录 Git 简介 部署 1. 配置yum源(推荐) 2. 安装 配置GitLab 1.加载配置 2.修改git默认访问端口 gitlab.rb unicorn.rb gitlab-http.conf ...