C++ //继承同名成员处理方式
1 #include <iostream>
2 #include <string>
3 using namespace std;
4
5 class Base
6 {
7 public:
8 Base()
9 {
10 m_A = 100;
11 }
12 void func()
13 {
14 cout << "Base -func()调用" << endl;
15 }
16 int m_A;
17
18 void func(int a)
19 {
20 cout << "Base -func(int a)调用" << endl;
21 }
22
23
24 };
25
26 class Son : public Base
27 {
28 public:
29 Son()
30 {
31 m_A = 200;
32 }
33
34 void func()
35 {
36 cout << "Son -func()调用" << endl;
37 }
38
39 void func(int a)
40 {
41 cout << "Son -func(int a)调用" << endl;
42 }
43
44
45 int m_A;
46 };
47
48 //同名成员属性处理
49 void test01()
50 {
51 Son s;
52 cout << "Son m_A= " << s.m_A << endl;
53 //Base b;
54 //如果通过子类对象 访问到父类中的同名对象 要在子类后面加 父类的作用域
55 cout << "Base m_A= " << s.Base::m_A << endl;
56 //cout << "Base m_A= " << b.m_A << endl;
57 }
58
59 //同名成员函数处理
60 void test02()
61 {
62 Son s;
63 s.func(); //直接调用的是: 子类用的同名成员
64
65 //如何调用父类中的同名函数
66 s.Base::func();
67
68 //如果子类出现和父类中的同名的成员函数 子类的同名成员会隐藏掉
69 //父类中所有的同名成员函数
70
71 //如果想访问到父类中被隐藏的同名成员函数 需要加作用域
72 s.func(100);
73 s.Base::func(200);
74
75 }
76 int main()
77 {
78
79 //test01();
80 test02();
81
82 system("pause");
83
84 return 0;
85
86 }

C++ //继承同名成员处理方式的更多相关文章
- C++ //继承同名静态成员处理方式
1 //继承同名静态成员处理方式 2 #include <iostream> 3 #include <string> 4 using namespace std; 5 6 cl ...
- python多继承中子类访问祖先类的同名成员
子类调用父类的同名成员 方式1: class A: def f_a(self): print("----A----") class B: def f_a(self): print( ...
- 《JS高程》实现继承的6种方式(完整版)
许多OO语言都支持 两种继承方式: (1)接口继承:只继承方法签名: (2)实现继承:继承实际的方法. ECMAScript 由于函数没有签名,无法实现接口继承,因此只支持实现继承,而且主要是依靠原型 ...
- javascript实现继承的几种方式
原型链方式实现继承 function SuperType(){ this.property = true; this.colors = ['red','blue','green']; } SuperT ...
- C++:调整基类成员在派生类中的访问属性的其他方法(同名成员和访问声明)
4.3 调整基类成员在派生类中的访问属性的其他方法 4.3.1 同名函数 在定义派生类的时候,C++语言允许在派生类中说明的成员与基类中的成员名字相同,也就是 说,派生类可以重新说明与基类成员同名的成 ...
- javascript(js)创建对象的模式与继承的几种方式
1.js创建对象的几种方式 工厂模式 为什么会产生工厂模式,原因是使用同一个接口创建很多对象,会产生大量的重复代码,为了解决这个问题,产生了工厂模式. function createPerson(na ...
- JS继承的原理、方式和应用
概要: 一.继承的原理 二.继承的几种方式 三.继承的应用场景 什么是继承? 继承:子类可以使用父类的所有功能,并且对这些功能进行扩展.继承的过程,就是从一般到特殊的过程.要了解JS继承必须首先要了解 ...
- js实现继承的5种方式 (笔记)
js实现继承的5种方式 以下 均为 ES5 的写法: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承 ...
- “FormCRUD.csProj.FormMain.Name”隐藏了继承的成员“System.Windows.Forms.Control.Name”。如果是有意隐藏,请使用关键字 new。
一旦运行就显示:“FormCRUD.csProj.FormMain.Name”隐藏了继承的成员“System.Windows.Forms.Control.Name”.如果是有意隐藏,请使用关键字 ne ...
随机推荐
- 45、django工程(URLconf)
45.1.django URLconf 路由系统介绍: 1.说明: URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表, ...
- 1、Centos7下安装Oracle11gR2及多实例
实验环境: 系统:2核8G内存60G硬盘,centos7.4: 优化操作:已经关闭了防火墙.selinux,/etc/hosts文件中以添加"172.16.1.92 slave-node2& ...
- POJ 2236 Wireless Network 第一次做并查集,第一次写博客
题意是判断两台电脑是否能通讯,两台修好的电脑距离在指定距离内可直接通讯,且两台修好的电脑能通过一台修好的电脑间接通讯.代码如下: #include <iostream> #include ...
- 一款好用的CRM系统为何很难被企业找到?
如果您想要照明,买个灯具就能解决问题:如果您想要沟通,买个手机就能立刻打起电话:如果您要购买好用的CRM系统,那就没有这么简单了,无论是选型过程还是使用结果都十分复杂.做为想要使用CRM的潜在用户,您 ...
- CentOS-配置YUM源加速(阿里云、Nexus3)
备份本地源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 配置CentOS6(aliyun ...
- 使用Docker的同学注意了,这10个坑小心中招了
Docker容器优点容器已经成为企业IT基础设施中必不可少的部分,它具有许多的优点,比如: 1 容器是不可变的--操作系统,库版本,配置,文件夹和应用程序都包装在容器内.你保证在质量检查中测试过的同一 ...
- 用swoole实现异步任务队列
应用场景如下: 假如要发100封邮件,for循环100遍,这种方法显然是不可取的. 在一些比较繁杂的业务里,我们很可能有超过1万的邮件要群发.那我们怎么处理这个延迟的问题? 答案就是用异步.把&quo ...
- Adaptive AUTOSAR 学习笔记 1 - Overview
缩写 AP: AUTOSAR Adaptive Platform CP: AUTOSAR Classic Platform AA: Adaptive Application ARA: AUTOSAR ...
- python删除文件中某一行
将文本中的 tasting123删除 with open("fileread.txt","r",encoding="utf-8") as f ...
- 手写系列-实现一个铂金段位的 React
一.前言 本文基于 https://pomb.us/build-your-own-react/ 实现简单版 React. 本文学习思路来自 卡颂-b站-React源码,你在第几层. 模拟的版本为 Re ...