c++ 学习 之 继承中静态成员函数和静态成员变量

#define _CRT_SECURE_NO_WARNINGS

#include

using namespace std;

class Base

{

public:

static int m_A; // 静态成员变量

static void func() // 静态成员函数

{

cout << "Base 下的 静态成员函数" << endl;

}

};

int Base::m_A = 200; // 初始化静态成员变量

class Son : public Base

{

public:

static int m_A; // 与父类同名的静态成员变量

static void func() // 与父类同名的静态成员函数

{

cout << "Son 下的 静态成员函数" << endl;

}

};

int Son::m_A = 100; // 初始化子类中同名的静态成员变量

void test01()

{

Son p;

// 通过对象来访问

cout << p.m_A << endl; // 未说明就是子类的

cout << p.Base::m_A << endl; // 使用作用域解析运算符访问父类的静态成员变量

// 通过类名进行访问

cout << Son::m_A << endl; // 直接访问子类的同名静态成员变量

cout << Son::Base::m_A << endl; // 使用两次作用域解析运算符访问父类的静态成员变量

}

void test02()

{

Son s;

s.func(); // 调用子类的静态成员函数

s.Base::func(); // 使用作用域解析运算符调用父类的静态成员函数

Son::func(); // 直接调用子类的静态成员函数

Son::Base::func(); // 使用两次作用域解析运算符调用父类的静态成员函数

}

int main()

{

// 在这里你可以调用 test01() 或 test02() 来测试上述代码的输出

}

相关推荐
xiaoxiaoxiaolll几秒前
《自然·通讯》:纳米TiC复合粉末如何赋予3D打印CoCrNi合金超常低温韧性?
学习
2301_797312263 分钟前
学习Java38天
学习
_OP_CHEN5 分钟前
【从零开始的Qt开发指南】(二十二)Qt 音视频开发宝典:从音频播放到视频播放器的实战全攻略
开发语言·c++·qt·音视频·前端开发·客户端开发·gui开发
FAFU_kyp5 分钟前
Rust 字符串与切片
开发语言·后端·rust
oioihoii10 分钟前
从C++到C#的转型完全指南
开发语言·c++·c#
好奇龙猫10 分钟前
【日语学习-日语知识点小记-日本語体系構造-JLPT-N2前期阶段-第一阶段(3):单词语法】
学习
Ashley_Amanda13 分钟前
Python入门知识点梳理
开发语言·windows·python
区区一散修14 分钟前
Java进阶 6. 集合
java·开发语言
学嵌入式的小杨同学20 分钟前
C 语言实战:动态规划求解最长公共子串(连续),附完整实现与优化
数据结构·c++·算法·unity·游戏引擎·代理模式
-凌凌漆-27 分钟前
【JS】JavaScript Promise
开发语言·javascript·ecmascript