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.私有继承的更多相关文章

  1. [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序、菱形问题、继承原理、Mixins机制),组合]

    [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序.菱形问题.继承原理.Mixins机制),组合] 继承应用 类与类之间的继承指的是什么'是'什么的关系(比如人类,猪类 ...

  2. 官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error

    上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速.神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(cond ...

  3. Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)

    第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...

  4. 创建多线程的第一种方式——创建Thread子类和重写run方法

    创建多线程的第一种方式——创建Thread子类和重写run方法: 第二种方式——实现Runnable接口,实现类传参给父类Thread类构造方法创建线程: 第一种方式创建Thread子类和重写run方 ...

  5. Effective C++ 第二版 40)分层 41)继承和模板 42)私有继承

    条款40 通过分层来体现"有一个"或"用...来实现" 使某个类的对象成为另一个类的数据成员, 实现将一个类构筑在另一个类之上, 这个过程称为 分层Layeri ...

  6. C++中的三种继承关系

    C++中的三种继承关系 先看类中声明成员时的三种访问权限 public : 可以被任意实体访问 protected : 只允许子类及本类的成员函数访问 private : 只允许本类的成员函数访问 在 ...

  7. Java并发编程:Java创建线程的三种方式

    目录 引言 创建线程的三种方式 一.继承Thread类 二.实现Runnable接口 三.使用Callable和Future创建线程 三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能 ...

  8. js oop中的三种继承方法

    JS OOP 中的三种继承方法: 很多读者关于js opp的继承比较模糊,本文总结了oop中的三种继承方法,以助于读者进行区分. <继承使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方 ...

  9. 【朝花夕拾】Android自定义View篇之(四)自定义View的三种实现方式及自定义属性使用介绍

    前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10979161.html],谢谢! 尽管Android系统提供了不少控件,但是有很多酷炫效果仍然 ...

  10. JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

随机推荐

  1. Redis6使用指导(完整版)

    一.Nosql与Redis概述 二.Redis6安装 三.常用五大数据类型 四.Redis6配置文件详解 五.Redis6的发布和订阅 六.Redis6新数据类型 七.Jedis操作Redis6(Ma ...

  2. 日常BUG-01 之 @Sl4j

    问题描述: 需要打印日志,使用的是lombok包中的sl4j,lombok依赖如下: <dependency> <groupId>org.projectlombok</g ...

  3. centos 8.3安装 OPENJDK

    centos 8.3安装 OPENJDK 查找可安装的OPENJDK [root@xamppr10 ~]# yum search java | grep -i --color openjdk 命令执行 ...

  4. hadoop学习(一)环境的搭建

    1.安装几台Linux虚拟机.安装的过程就不赘述了,网上教程很多.win7系统上装了一个VMWare,因为一些原因,VMWare版本不是最新的,是VMWare7.1版本,由于VMWare版本不高,所以 ...

  5. buu RSA

    一.分析 下载链接,发现一个公钥的文件(e,n),和一个加密过的文件 二. 公钥文件,里面一堆字母,然后后面百度,才知道需要去解开n,e 指数是e,模数是n(十六进制) 三.再通过n来分解素数,得到p ...

  6. ABP Framework 为什么好上手,不好深入?探讨最佳学习姿势!

    离写上一篇经验总结 ABP Framework 研习社经验总结(6.28-7.2) ,已经过去两周. ABP Framework 研习社(QQ群:726299208) 最近一周,又迎来了很多新伙伴,成 ...

  7. ARTS第十一周

    受辞职考研和新冠肺炎疫情影响,一直没更.遗憾,数学和专业课再高点就有戏了.继续. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3. ...

  8. java基础---设计模式(2)

    结构型模式 出处:https://blog.csdn.net/zhangerqing/article/details/8239539 一.适配器模式 适配器模式将某个类的接口转换成客户端期望的另一个接 ...

  9. C语言:常用数学函数

    #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> # ...

  10. 家庭账本开发day10

    系统的增删改查基本功能完成,进行业务流程完整测试.完善相关功能,编写搜索 功能,通过日期,类型等关键字进行搜索,对搜索到的数据表格完成重载 // 监听搜索操作        form.on('subm ...