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;
}
相关推荐
来荔枝一大筐10 分钟前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode
霜绛12 分钟前
C#知识补充(一)——ref和out、成员属性、万物之父和装箱拆箱、抽象类和抽象方法、接口
开发语言·笔记·学习·c#
报错小能手20 分钟前
C++笔记——STL list
c++·笔记
T.Ree.20 分钟前
cpp_list
开发语言·数据结构·c++·list
laocooon52385788623 分钟前
C++ 图片加背景音乐的处理
开发语言·c++
apocelipes33 分钟前
POSIX兼容系统上read和write系统调用的行为总结
linux·c语言·c++·python·golang·linux编程
爱编程的鱼33 分钟前
C# var 关键字详解:从入门到精通
开发语言·c#·solr
MATLAB代码顾问36 分钟前
MATLAB实现TCN神经网络数值预测
开发语言·matlab
No0d1es1 小时前
2025年第十六届蓝桥杯青少组省赛 C++编程 中级组真题
c++·青少年编程·蓝桥杯·省赛
千禧皓月1 小时前
【C++】基于C++的RPC分布式网络通信框架(二)
c++·分布式·rpc