C++ //继承同名静态成员处理方式
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++ //继承同名静态成员处理方式的更多相关文章
- C++ //继承同名成员处理方式
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 class Base 6 { 7 pu ...
- 《JS高程》实现继承的6种方式(完整版)
许多OO语言都支持 两种继承方式: (1)接口继承:只继承方法签名: (2)实现继承:继承实际的方法. ECMAScript 由于函数没有签名,无法实现接口继承,因此只支持实现继承,而且主要是依靠原型 ...
- javascript实现继承的几种方式
原型链方式实现继承 function SuperType(){ this.property = true; this.colors = ['red','blue','green']; } SuperT ...
- javascript(js)创建对象的模式与继承的几种方式
1.js创建对象的几种方式 工厂模式 为什么会产生工厂模式,原因是使用同一个接口创建很多对象,会产生大量的重复代码,为了解决这个问题,产生了工厂模式. function createPerson(na ...
- js实现继承的5种方式 (笔记)
js实现继承的5种方式 以下 均为 ES5 的写法: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承 ...
- js实现继承的5种方式
js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现 ...
- js 实现继承的6种方式(逐渐优化)
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- js 实现继承的几种方式
//js中实现继承的几种方式 //实现继承首先要有一个父类,先创造一个动物的父类 function Animal(name){ this.name = name; this.shoot = funct ...
- javascript中实现继承的几种方式
javascript中实现继承的几种方式 1.借用构造函数实现继承 function Parent1(){ this.name = "parent1" } function Chi ...
随机推荐
- kube-controller-manager源码分析-PV controller分析
kubernetes ceph-csi分析目录导航 概述 kube-controller-manager组件中,有两个controller与存储相关,分别是PV controller与AD contr ...
- gitla 报错 The project you were looking for could not be found or you don't have permission to view it.
gitlab项目组下创建项目 $ git push -u git@192.168.101.129:/DrvOps/Dev_Test : 报错信息如下: remote: ================ ...
- layui创建后台框架
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- webpack(8)vue组件化开发的演变过程
前言 真实项目开发过程中,我们都是使用组件化的去开发vue的项目,但是组件化的思想又是如何来的呢?下面就从开始讲解演变过程 演变过程1.0 一般情况下vue都是单页面开发,所以项目中只会有一个inde ...
- php+swoole多线程的操作
多个任务同时执行 比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送. 不使用多进程时,我们首先判断是否发送邮件,如果需要则发送:然后再判断是否需要发送短信,如果需要则发 ...
- so层反调试方法以及部分反反调试的方法
1.检测ida远程调试所占的常用端口23946,是否被占用 //检测idaserver是否占用了23946端口 void CheckPort23946ByTcp() { FILE* pfile=NUL ...
- kong的管理UI选择-konga
目录 npm方式安装 1. 准备依赖环境 2. 安装konga 3. 配置 4. 环境变量(more) 5. 数据库 配置 初始化/迁移 6. 运行 Docker方式安装 关于Kong-Dashboa ...
- LevelDB学习笔记 (3): 长文解析memtable、跳表和内存池Arena
LevelDB学习笔记 (3): 长文解析memtable.跳表和内存池Arena 1. MemTable的基本信息 我们前面说过leveldb的所有数据都会先写入memtable中,在leveldb ...
- Charles使用笔记001
一.抓电脑的请求 Proxy-->勾选Windows Proxy 二.Charles 拦截原理 三.Charles 拦截修改数据 选择一个链接-->右键-->勾选Breakpoint ...
- C语言:宏完美定义
#include <stdio.h> #define M (n*n+3*n) #define M1 n*n+3*n int main(){ int sum, n; printf(" ...