C++ 继承方式 //语法:class 子类 :继承方式 父类 //继承方式 三种: //1.公共继承 //2.保护继承 //3.私有继承
1 //继承方式
2 //语法:class 子类 :继承方式 父类
3 //继承方式 三种:
4 //1.公共继承
5 //2.保护继承
6 //3.私有继承
7
8 #include <iostream>
9 #include <string>
10 using namespace std;
11
12 //继承方式
13 //1.公共继承
14 class Base1
15 {
16 public:
17 int m_A;
18 protected:
19 int m_B;
20 private:
21 int m_C;
22
23 };
24 //1.公共继承
25 class Son1 :public Base1
26 {
27 public:
28 void func()
29 {
30 m_A = 10; //父类中的公共权限成员 到子类中依然是 公共权限
31
32 m_B = 20; //父类中的公共权限成员,到子类依然是 保护权限
33 //类内可以访问 类外不可以访问
34
35 //m_C = 30; //父类中的私有全程成员,到子类中 访问不到
36 }
37 };
38
39 void test01()
40 {
41 Son1 s1;
42 s1.m_A = 100;
43 //s1.m_B = 100; //类内可以访问 类外不可以访问
44
45
46 }
47 //保护继承
48 class Base2
49 {
50 public:
51 int m_A;
52 protected:
53 int m_B;
54 private:
55 int m_C;
56
57
58 };
59
60 class Son2 : protected Base2
61 {
62 public:
63 void func2()
64 {
65 m_A = 100; //父类中公共成员到 子类中变为保护权限
66 m_B = 100; //没有发生变化 还是私有成员
67
68 //m_C = 100; //父类中私有成员 子类访问不到
69 }
70 };
71
72 void test02()
73 {
74 Son2 s2;
75 //s2.m_A = 1000; //在Son2中已经变为了 保护权限 所以类外 访问不到
76 //s2.m_B = 200; //在Son2中已经变为了 保护权限 所以类外 访问不到
77 //s2.m_C = 551; //私有成员不可以访问
78
79
80 }
81 //私有继承
82 class Base3
83 {
84 public:
85 int m_A;
86 protected:
87 int m_B;
88 private:
89 int m_C;
90
91 };
92 class Son3 :private Base3
93 {
94 public:
95 void func3()
96 {
97 m_A = 100; //父类中公共成员到子类中变为 私有成员
98
99 m_B = 200; //父类中保护成员到子类中变为 私有成员
100
101 //m_C = 120; //父类中的私有成员 子类不可以访问
102 }
103
104 };
105 class GrandSon4 : public Son3
106 {
107 public:
108 void func4()
109 {
110 //m_A = 1000; //到了 Son3中 m_A 变为私有,即使是 儿子也访问不到
111 //m_B = 2000; //到了 Son3中 m_A 变为私有,即使是 儿子也访问不到
112 }
113
114 };
115 void test03()
116 {
117 Son3 s3;
118
119 //s3.m_A = 200; //到Son3中 变为私有成员 访问不到
120 //s3.m_B = 100; //到Son3中 变为私有成员 访问不到
121 //s3.m_C = 300; //父类中的私有成员 子类不可以访问
122
123 }
124
125 int main()
126 {
127
128
129 system("pause");
130
131 return 0;
132
133 }
C++ 继承方式 //语法:class 子类 :继承方式 父类 //继承方式 三种: //1.公共继承 //2.保护继承 //3.私有继承的更多相关文章
- [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序、菱形问题、继承原理、Mixins机制),组合]
[面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序.菱形问题.继承原理.Mixins机制),组合] 继承应用 类与类之间的继承指的是什么'是'什么的关系(比如人类,猪类 ...
- 官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error
上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速.神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(cond ...
- Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)
第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...
- 创建多线程的第一种方式——创建Thread子类和重写run方法
创建多线程的第一种方式——创建Thread子类和重写run方法: 第二种方式——实现Runnable接口,实现类传参给父类Thread类构造方法创建线程: 第一种方式创建Thread子类和重写run方 ...
- Effective C++ 第二版 40)分层 41)继承和模板 42)私有继承
条款40 通过分层来体现"有一个"或"用...来实现" 使某个类的对象成为另一个类的数据成员, 实现将一个类构筑在另一个类之上, 这个过程称为 分层Layeri ...
- C++中的三种继承关系
C++中的三种继承关系 先看类中声明成员时的三种访问权限 public : 可以被任意实体访问 protected : 只允许子类及本类的成员函数访问 private : 只允许本类的成员函数访问 在 ...
- Java并发编程:Java创建线程的三种方式
目录 引言 创建线程的三种方式 一.继承Thread类 二.实现Runnable接口 三.使用Callable和Future创建线程 三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能 ...
- js oop中的三种继承方法
JS OOP 中的三种继承方法: 很多读者关于js opp的继承比较模糊,本文总结了oop中的三种继承方法,以助于读者进行区分. <继承使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方 ...
- 【朝花夕拾】Android自定义View篇之(四)自定义View的三种实现方式及自定义属性使用介绍
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10979161.html],谢谢! 尽管Android系统提供了不少控件,但是有很多酷炫效果仍然 ...
- JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
随机推荐
- 从零开始学前端,React框架背后的核心机制和原理JSX
什么是React React是起源于Facebook的一个前端框架,用于构建用户界面的JavaScript库,Facebook用来探索一种更加高效优雅的Javascript MVC框架来架设Insta ...
- 痞子衡嵌入式:在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺. 恩智浦 MCU SE 团队近期一直在加班加点赶 SBL 项目 ...
- 18、lnmp_wordpress安装
18.1.[root@web01 nginx]# mysql -uroot -p123456 mysql> show databases; #显示所有的数据库: +--------------- ...
- Integer Inquiry 大数加法
Integer Inquiry 1 import java.util.*; 2 import java.math.*; 3 import java.io.*; 4 import java.text.* ...
- Redis 过期时间解析
文章参考:<Redis 设计与实现>黄建宏 设置过期时间 通过 EXPIRE 或者 PEXPIRE 命令,客户端可以以秒或毫秒精度为数据库中的某个键设置生存时间 TTL (Time To ...
- Error in render: "TypeError: Cannot read property '' of undefined"
描述 在用Vue的时候出现了一个令人窒息的错误 报错显示 "avatar" 未定义,但在postman中测试返回的数据确实有"avatar",可是为什么未找到? ...
- uni-app中组件picker的基本使用(日期选择器为例)
例:需要在下图"自定义日期"中使用日期选择器 <template> <div> <picker mode="date" @chan ...
- Windows10:虚拟机开机导致win10黑屏、蓝屏
管理员身份打开cmd(命令提示符) 执行如下5个命令 netsh winsock reset net stop VMAuthdService net start VMAuthdService net ...
- Spring WebFlux快速上手——响应式Spring的道法术器
https://blog.csdn.net/get_set/article/details/79480233
- bugku crypto wp上半部分汇总
1.滴答~滴 摩斯码,在线解开. 2. 栅栏密码,在线解就出flag了. 3. Ook解密,由.?!Ook组成密文,在线网站解密 4.这不是摩斯密码 有点像jsfuck,发现又不是,因为不会出现大于号 ...