1 //继承同名静态成员处理方式
2 #include <iostream>
3 #include <string>
4 using namespace std;
5
6 class Base
7 {
8 public:
9 static int m_A;
10
11 static void func()
12 {
13 cout << "Base - static void func()" << endl;
14 }
15
16
17 };
18
19 int Base::m_A = 100;
20
21
22 class Son :public Base
23 {
24 public:
25 static int m_A;
26
27 static void func()
28 {
29 cout << "Son - static void func()" << endl;
30 }
31 };
32
33 int Son::m_A = 200;
34
35 //同名静态成员属性
36 void test01()
37 {
38
39 //1.通过对象方式 访问
40 cout << "通过对象方式访问: " << endl;
41 Son s;
42 cout << "Son-m_A = " << s.m_A << endl;
43
44 cout << "Base-m_A = " << s.Base::m_A << endl;
45
46
47 //2.通过类名方式访问
48
49 cout << "通过类名的方式访问:" << endl;
50 cout << "Son m_A = " << Son::m_A << endl;
51 //第一个::代表通过类名的方式访问 第二个::代表访问父类作用域下的
52
53 cout << "Son m_A = " << Son::Base::m_A << endl;
54
55
56 }
57
58 //同名静态成员函数
59 void test02()
60 {
61 //通过对象的方式访问
62 cout << "通过对象的方式访问:" << endl;
63 Son s;
64 s.func();
65
66 s.Base::func();
67
68 //通过类名的方式访问
69 cout << "通过类名的方式访问:" << endl;
70 Son::func();
71 Son::Base::func();
72
73
74 }
75 int main()
76 {
77
78 //test01();
79 test02();
80
81 system("pause");
82
83 return 0;
84
85 }

C++ //继承同名静态成员处理方式的更多相关文章

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

    1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 class Base 6 { 7 pu ...

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

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

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

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

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

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

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

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

  6. js实现继承的5种方式

    js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现 ...

  7. js 实现继承的6种方式(逐渐优化)

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  8. js 实现继承的几种方式

    //js中实现继承的几种方式 //实现继承首先要有一个父类,先创造一个动物的父类 function Animal(name){ this.name = name; this.shoot = funct ...

  9. javascript中实现继承的几种方式

    javascript中实现继承的几种方式 1.借用构造函数实现继承 function Parent1(){ this.name = "parent1" } function Chi ...

随机推荐

  1. [Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]

    [Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAP ...

  2. 单链表(LinkedList)

    与数组相似,链表也是一种线性数据结构.这里有一个例子:   正如你所看到的,链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起.   链表有两种类型:单链表和双链表 ...

  3. 揭开Docker的面纱

    开新坑了,开始挖坑Docker了,兄弟们.为什么需要Docker呢?Docker是什么?这里开始揭开Docker的面纱. 一.为什么需要Docker 可能每个开发人员都有一种困扰,软件开发完之后部署项 ...

  4. layui创建后台框架

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. 通过winsw将jar包做成window后台服务运行

    第一步:下载Winsw地址 https://github.com/kohsuke/winsw/releases  第二步: 将下载好的sample-minimal.xml和WinSW.NET4.exe ...

  6. Python | 更换pip源到国内镜像

    pip国内的一些镜像 阿里云 https://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simpl ...

  7. weblogic项目转为tomcat之后出现的问题

    解决java - JAX-WS和版本冲突 itPublisher分享于2017-03-19 推荐:JWS,JAX-WS,JAX-RS,REST,Restlet,SOAP(JAVA Web Servic ...

  8. 自己动手模拟spring的IOC

    我们这里是模拟spring,主要模拟spring中的IOC功能,所以在此我们一样要在service层中定义dao的实例,当然不用new出来,我们就通过spring的IOC把这里的dao层注入进来.不要 ...

  9. 《基于JQuery和CSS的特效整理》系列分享专栏

    <基于JQuery和CSS的特效整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201724.html 文章 一款基于jQue ...

  10. tableview折叠动效

    缘起于看见书旗小说的列表有点击折叠的动效,觉得十分炫酷.想了三分钟,不知道怎么写.晚上百度了下,知道了大致流程,于是自己实现了下,发现不少坑,于是写下这篇博文 实现原理: 1 tableview ce ...