C++ 我们可以创建类函数的覆盖吗?

标签 c++ oop

拥有 3 个具有相同名称的函数,例如:

bool VideoEncoder::AddFrame(AVFrame* frame, const char* soundBuffer, int soundBufferSize)
bool VideoEncoder::AddFrame( const char* soundBuffer, int soundBufferSize)
bool VideoEncoder::AddFrame(AVFrame* frame)

我们可以吗?

最佳答案

是的,它叫做函数重载,是 C++ 的标准特性。

根据您传递给它们的参数的数量和类型,函数必须是可解析的。例如,如果您定义了以下重载,这将中断:

void A::foo(long n);
void A::foo(double n);

A a;
int i = 42;
a.foo(i);

这会产生无法解决的歧义。

关于C++ 我们可以创建类函数的覆盖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4297233/

相关文章:

java - 关于组合与聚合的混淆(重新制定和更正)

Python:类对象已实例化但未定义?

java - 子类型 "inherit"通用接口(interface)是否使用该特定子类型 (Java) 进行参数化?

c++ - 是否需要在noexcept运算符中进行std::decay?

c++ - 如何过早停止长时间运行的功能?

c++ - MFC-CArray 复制

python - 使用继承正确扩展 tkinter 小部件

使用 std 安全指针相互链接的 c++ 类 (c++)

c++ - Makefile 操作系统检测和 ifeq 未被触发

c++ - 启动第二个 Linux 程序并从 C/C++ 退出当前程序?