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++ //继承同名成员处理方式的更多相关文章

  1. C++ //继承同名静态成员处理方式

    1 //继承同名静态成员处理方式 2 #include <iostream> 3 #include <string> 4 using namespace std; 5 6 cl ...

  2. python多继承中子类访问祖先类的同名成员

    子类调用父类的同名成员 方式1: class A: def f_a(self): print("----A----") class B: def f_a(self): print( ...

  3. 《JS高程》实现继承的6种方式(完整版)

    许多OO语言都支持 两种继承方式: (1)接口继承:只继承方法签名: (2)实现继承:继承实际的方法. ECMAScript 由于函数没有签名,无法实现接口继承,因此只支持实现继承,而且主要是依靠原型 ...

  4. javascript实现继承的几种方式

    原型链方式实现继承 function SuperType(){ this.property = true; this.colors = ['red','blue','green']; } SuperT ...

  5. C++:调整基类成员在派生类中的访问属性的其他方法(同名成员和访问声明)

    4.3 调整基类成员在派生类中的访问属性的其他方法 4.3.1 同名函数 在定义派生类的时候,C++语言允许在派生类中说明的成员与基类中的成员名字相同,也就是 说,派生类可以重新说明与基类成员同名的成 ...

  6. javascript(js)创建对象的模式与继承的几种方式

    1.js创建对象的几种方式 工厂模式 为什么会产生工厂模式,原因是使用同一个接口创建很多对象,会产生大量的重复代码,为了解决这个问题,产生了工厂模式. function createPerson(na ...

  7. JS继承的原理、方式和应用

    概要: 一.继承的原理 二.继承的几种方式 三.继承的应用场景 什么是继承? 继承:子类可以使用父类的所有功能,并且对这些功能进行扩展.继承的过程,就是从一般到特殊的过程.要了解JS继承必须首先要了解 ...

  8. js实现继承的5种方式 (笔记)

    js实现继承的5种方式 以下 均为 ES5 的写法: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承 ...

  9. “FormCRUD.csProj.FormMain.Name”隐藏了继承的成员“System.Windows.Forms.Control.Name”。如果是有意隐藏,请使用关键字 new。

    一旦运行就显示:“FormCRUD.csProj.FormMain.Name”隐藏了继承的成员“System.Windows.Forms.Control.Name”.如果是有意隐藏,请使用关键字 ne ...

随机推荐

  1. kubelet分析-csi driver注册分析-Node Driver Registrar源码分析

    kubernetes ceph-csi分析目录导航 Node Driver Registrar分析 node-driver-registrar是一个sidecar容器,通过Kubelet的插件注册机制 ...

  2. Windows10 上Docker 安装运行Gitlab

    准备条件 安装好Docker For Windows客户端. 配置好Docker 阿里云加速镜像地址. 检查Docker版本,大于等于v19. 拉取Gitlab镜像 docker pull gitla ...

  3. Zabbix5.0钉钉报警(centos7)

    2.1.到钉钉官网下载pc版钉钉,安装.注册.登陆: 钉钉下载地址:https://www.dingtalk.com/ 2.2.创建群聊和钉钉机器人: 1.创建群聊,把需要收到报警的人员都拉到这个群: ...

  4. hdu 2842 Chinese Rings 矩阵快速幂

    分析: 后面的环能不能取下来与前面的环有关,前面的环不被后面的环所影响.所以先取最后面的环 设状态F(n)表示n个环全部取下来的最少步数 先取第n个环,就得使1~n-2个环属于被取下来的状态,第n-1 ...

  5. Redis 过期时间解析

    文章参考:<Redis 设计与实现>黄建宏 设置过期时间 通过 EXPIRE 或者 PEXPIRE 命令,客户端可以以秒或毫秒精度为数据库中的某个键设置生存时间 TTL (Time To ...

  6. 配置tomcat虚拟主机

    实例说明 本实例介绍如何配置tomcat的虚拟主机. 关键技术 关于server.xml中host这个元素,只有在设置虚拟主机是才会修改.虚拟主机是一种在一个Web服务器上服务多个域名的机制,对这个域 ...

  7. Docker:redis容器使用redis.conf启动失败,不报错

    查看redis.conf配置信息 daemonize no :redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.co ...

  8. Springboot:Springboot+mysql5.7搭建服务,超过8小时连接mysql失败

    报错信息 2017-03-12 03:00:02.539 ERROR 9311 --- [nio-9000-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] ...

  9. PO,VO,BO,POJO,DAO的区别

    基本概念 PO:persistant object (持久化对象),可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不 ...

  10. leetcode TOP100 比特位计数

    338. 比特位计数 题目描述: `给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 1: 输入: 2 输出: ...