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

}

相关推荐
郑州光合科技余经理5 小时前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php
码哥DFS8 小时前
二叉树的直径
开发语言·javascript·算法
paopaokaka_luck9 小时前
基于springboot3+vue3的企业考勤管理系统(部门树递归、Echarts图形化分析)
开发语言·spring boot·学习·echarts·mybatis·需求分析·代码规范
minglie19 小时前
zynq高频小数据量PS闭环 抖动时间的测量
学习
long3169 小时前
MySQL 学习练习(配套 01 入门资料)
数据库·学习·mysql
梦雨生生10 小时前
java开发工具(学习第一天)
java·开发语言·学习
啊啊啊啊啊!!!!11 小时前
【c++】stack和queue的接口使用以及底层实现
开发语言·c++
松仔log12 小时前
Java中级——组合和继承
android·java·开发语言
(Charon)14 小时前
【C++】锁与原子操作(四):自旋锁的完整实现与性能优化
c语言·开发语言·c++
雨田言炎14 小时前
五、Qt控件使用说明大全
开发语言·qt