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;
}
相关推荐
Risehuxyc1 小时前
备份三个PHP程序
android·开发语言·php
rainbow68891 小时前
C++高性能框架Drogon:后端开发新标杆
c++
Q741_1471 小时前
C++ 优先级队列 大小堆 模拟 力扣 703. 数据流中的第 K 大元素 每日一题
c++·算法·leetcode·优先级队列·
lly2024061 小时前
PHP Error: 常见错误及其解决方法
开发语言
网安墨雨1 小时前
Python自动化一------pytes与allure结合生成测试报告
开发语言·自动化测试·软件测试·python·职场和发展·自动化
毕设源码李师姐1 小时前
计算机毕设 java 基于 java 的图书馆借阅系统 智能图书馆借阅综合管理平台 基于 Java 的图书借阅与信息管理系统
java·开发语言·课程设计
忆~遂愿1 小时前
Runtime 上下文管理:计算实例的生命周期、延迟最小化与上下文切换优化
java·大数据·开发语言·人工智能·docker
沐知全栈开发2 小时前
PostgreSQL中的AND和OR操作符
开发语言
1尢晞12 小时前
Java学习
java·开发语言
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 基于python的电影推荐系统为例,包含答辩的问题和答案
开发语言·python