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() 来测试上述代码的输出

}

相关推荐
每次的天空12 分钟前
Android-重学kotlin(协程源码第二阶段)新学习总结
android·学习·kotlin
双叶83613 分钟前
(C++)任务管理系统(正式版)(迭代器)(list列表基础教程)(STL基础知识)
c语言·开发语言·数据结构·c++·list
七七七七0726 分钟前
类与对象【下篇】-- 关于类的其它语法
c语言·开发语言·c++
优乐美香芋味好喝27 分钟前
2025年7月8日学习笔记——模式识别与机器学习绪论
笔记·学习·机器学习
削好皮的Pineapple!27 分钟前
C语言模块化编程思维以及直流电机控制(第四天)
c语言·开发语言·单片机
im_AMBER33 分钟前
python实践思路(草拟计划+方法)
开发语言·python
黄皮の电气鼠34 分钟前
C++:继承
开发语言·c++·算法
shylyly_35 分钟前
专题一_双指针_查找总价格为目标值的两个商品
c++·算法·leetcode·双指针·查找总价格为目标值的两个商品·和为s的两个数
R-G-B1 小时前
【03】MFC入门到精通——MFC 添加控件 设置属性 按钮 文本框
c++·mfc·mfc添加控件
rit84324991 小时前
MATLAB基于voronoi生成三维圆柱形
开发语言·人工智能·matlab