这是多态性(C++/程序化编程方式)吗?
Is this polymorphism (C++ / Procedural way of programming)?
我想知道这是否是 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++ 中的多态性
这不是多态性,在这里您可能会发现多态性及其变体。
这可以被认为是编译时多态的。运行时多态性的一个示例是在基类中使用虚函数,并在扩展类中重写这些函数。
相关文章:
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 在没有管理员权限的情况下,在 c++ 中以编程方式将程序添加到启动
- 如何以编程方式将音频从任何录制设备路由到任何播放设备
- 我是否可以使用 win32 句柄以编程方式记录发送到/接收到 USB/COM 的内容
- 如何以编程方式使窗口全屏显示?
- 终端如何在 shell 提示符下以编程方式阻止退格,以便您无法在其上退格,例如 $ 表示 bash 或 C:\blah\>
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- 如何以编程方式显示功能区按钮的下拉菜单?
- 是否可以以编程方式构造 std::initializer_list?
- 在 Visual C++ 中以编程方式更改按钮的背景图像
- 附加调试器并以编程方式获取变量地址 Visual Studio
- 以编程方式重新连接断开的 VHD 链
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- 以编程方式在任何按钮上突出显示 Qt 鼠标悬停按钮
- 以编程方式防止重命名或删除文件,但仍使其可写
- 以编程方式连接子图
- 如何以编程方式区分在内存的堆和堆栈部分创建的对象
- 如何以编程方式从PKCS7中提取CA、多个CA和公共证书/密钥
- 如何以编程方式将路由添加到网络接口
- 以编程方式在 C++ 中创建函数