这是多态性(C++/程序化编程方式)吗?

Is this polymorphism (C++ / Procedural way of programming)?

本文关键字:方式 编程 程序化 多态性 C++      更新时间:2023-10-16

我想知道这是否是 c++ 中多态性的一个例子。我检查了 OOP 中的示例,但我没有找到任何纯程序编程方式的示例。 提前感谢您的回答!

#include <iostream>
using namespace std;
int return_value(int a) {
return 5;
}
char return_value(char b) {
return 'a';
}
int main() {
int a = 1;
char b = 'c';
cout << return_value(a);
cout << return_value(b);
return 0;
}

多态性意味着一个名字多种形式。 从这个意义上说,即使是函数重载也是一种多态性,因为同名为您提供不同的功能。

有些人将多态性分类为编译时多态性和运行时多态性。那么函数重载是编译时多态性的情况。虚函数是运行时多态性的示例。

所以是的,你的代码是编译时多态性的一个例子。

有关运行时多态性和编译时多态性之间差异的更多详细信息,请参阅 Java 中的动态多态性和静态多态性有什么区别?

这只是一个重载函数,它可以以某种方式被认为是多态的。 但是,在这里你可以找到更多关于多态性的信息:

C++ 中的多态性

这不是多态性,在这里您可能会发现多态性及其变体。

这可以被认为是编译时多态的。运行时多态性的一个示例是在基类中使用虚函数,并在扩展类中重写这些函数。