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. Redis之内存优化

    Redis所有的数据都存在内存中,当前内存虽然越来越便宜,但跟廉价的硬盘相比成本还是比较昂贵,因此如何高效利用Redis内存变得非常重要.高效利用Redis内存首先需要理解Redis内存消耗在哪里,如 ...

  2. ES服务的搭建(八)

    看下图的淘宝页面,可以看到搜索有多个条件及搜索产品,并且支持多种排序方式,例如按价格:其实这块有个特点,就是不管你搜索哪个商品他都是有分类的,以及他对应的品牌,这两个是固定的,但其它参数不一定所有商品 ...

  3. This application failed to start because no Qt platform plugin could be initialized

    今天在直接运行QT生成的.exe遇到了一个错误:This application failed to start because no Qt platform plugin could be init ...

  4. 11、文件比较与同步工具(FreeFileSync)

    11.1.基本介绍: 1.FreeFileSync是一个用于文件同步的免费开源程序.FreeFileSync通过比较其内容,日期或文件大小上的一个或多个文件夹,然 后根据用户定义的设置同步内容.除了支 ...

  5. Linux下的SSH,你知道多少?

    Openssh介绍 OpenSSH 是 SSH (Secure Shell) 协议的免费开源实现.SSH协议族可以用来进行远程控制, 或在计算机之间传送文件.而实现此功能的传统方式,如telnet(终 ...

  6. KDE桌面环境下konsole,kate等软件无法切换中文输入法

    解决方案(arch): 修改/etc/profile,增加以下语句: #fcitxexport XIM_PROGRAM=fcitxexport XIM=fcitxexport GTK_IM_MODUL ...

  7. JS中的单例模式及单例模式原型类的实现

    单例模式 单例模式的定义: 保证一个类只有一个实例,并提供一个访问它的全局访问点 通过一个简单的例子来了解单例模式的作用: class Div { constructor() { return doc ...

  8. 如何用Redis统计独立用户访问量

    拼多多有数亿的用户,那么对于某个网页,怎么使用Redis来统计一个网站的用户访问数呢? 使用Hash 哈希是Redis的一种基础数据结构,Redis底层维护的是一个开散列,会把不同的key映射到哈希表 ...

  9. 单片机与PLC的区别?

    单片机顾名思义集成在一个芯片内的计算机系统,又叫单片微控制器,英文:mcu,具有计算机的全部功能.PLC是英文Programmable Logic Controller的简称,翻译过来就是可编程逻辑控 ...

  10. PYTHON 使用re.findall如果没有引用

    python使用re.findall时必须提前import re否则不提示错误,只是找不到结果 import re ab=re.findall('cmp=com.(.*?)/',aa)