C++继承同名成员的处理方式

访问方式

  1. 访问子类同名成员,直接访问即可
  2. 访问父类同名成员,需要加作用域

总结

  1. 子类对象可以直接访问父类中的同名成员
  2. 子类对象加作用域可以访问父类同名成员
  3. 当父类与子类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数
cpp 复制代码
#include<iostream>
using namespace std;

class Base1
{
public:
	int m_A;
	Base1()
	{
		m_A = 100;
	}
	void func()
	{
		cout << "Base-func()调用" << endl;
	}
	void func(int a)
	{
		cout << "Base-func(int a)调用" << endl;
	}
};

class Son1 :public Base1
{
public:
	//如果不初始化m_A调用父类中的成员变量还是子类中赋的值
	//int m_A;//当重新对成员变量进行赋值的时候会改变构造的值
	Son1()
	{
		m_A = 200;
	}
	//当父类与子类拥有同名的成员函数,子类会隐藏父类中所有版本的同名成员函数
	//如果想访问父类中被隐藏的同名成员函数,需要加父类的作用域
	void func() {
		cout << "SON1-func()调用" << endl;
	}
};	


void test01()
{
	Son1 s1;
	cout << s1.m_A << endl;  //输出的是子类中的
	cout << s1.Base1::m_A << endl;
	s1.func();
	s1.Base1::func();
	s1.Base1::func(10);

}
void test02()
{
	
}

int main()
{
	test01();
	test02();
	return 0;
}
相关推荐
吴_知遇11 分钟前
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
开发语言·c++·华为od
LaoWaiHang28 分钟前
MFC案例:使用键盘按键放大、缩小窗口图像的实验
c++·mfc
basketball61641 分钟前
Python torchvision.transforms 下常用图像处理方法
开发语言·图像处理·python
到底怎么取名字不会重复42 分钟前
Day10——LeetCode15&560
c++·算法·leetcode·哈希算法·散列表
宁酱醇1 小时前
各种各样的bug合集
开发语言·笔记·python·gitlab·bug
啊吧怪不啊吧1 小时前
Linux常见指令介绍下(入门级)
linux·开发语言·centos
谷晓光1 小时前
Python 中 `r` 前缀:字符串处理的“防转义利器”
开发语言·python
Tiger Z1 小时前
R 语言科研绘图第 41 期 --- 桑基图-基础
开发语言·r语言·贴图
chuxinweihui1 小时前
数据结构——二叉树,堆
c语言·开发语言·数据结构·学习·算法·链表
陈大大陈2 小时前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存