本文主要是介绍[C++]成员函数的重载(overload)、覆盖(override)和隐藏(hide),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++成员函数的重载、覆盖和隐藏
ref: https://blog.csdn.net/wanghuiqi2008/article/details/28419645
ref: https://blog.csdn.net/zgbsoap/article/details/566120
ref: 《高质量程序设计指南 C++/C语言 第3版》
1. 重载与覆盖
成员函数被重载的特征是:
- 具有相同的作用域(即同一个类定义中);
- 函数名字相同;
- 参数类型、顺序或数目不同(包括);
- virtual 关键字可有可无。
覆盖是指派生类重新实现(或者改写)了基类的成员函数,其特征是:
- 不同的作用域(分别位于派生类和基类中);
- 函数名称相同;
- 参数列表完全相同;
- 基类函数必须是虚函数。
#pragma once#include <iostream>using namespace std;// 展示了 Overload 和 Overrideclass Base
{
public:void f(int x) { cout << "Base::f(int) " << x << endl; }// overload Base::f(int x)void f(float x) { cout << "Base::f(float) " << x << endl; }virtual void g(
这篇关于[C++]成员函数的重载(overload)、覆盖(override)和隐藏(hide)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!