码迷,mamicode.com
首页 > 编程语言 > 详细

C++怎么实现多态?

时间:2021-01-19 12:08:08      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:info   turn   实现   参数类型   mamicode   char   img   load   mic   

C++通过函数重载或模板实现编译期多态(静态绑定),通过虚函数实现运行时多态(动态绑定)。

函数重载

#include <stdio.h>

int add(int a, int b)
{
	return a + b;
}

int add(double a, double b)
{
	return a + b;
}

int main(int argc, char* argv[])
{
	int sum = add(1.1, 3.2);
	printf("sum:%d\n", sum);
	return 0;
}

以上代码用g++编译可以通过,如果用gcc编译则会报错(说明C语言不支持函数重载):
技术图片

看下编译后的函数名:
技术图片
可以看到,编译器在add函数名后加上了参数类型ii(int,int) dd(double,double)。

模板

虚函数

模板和虚函数混用

C++怎么实现多态?

标签:info   turn   实现   参数类型   mamicode   char   img   load   mic   

原文地址:https://www.cnblogs.com/xuelei20/p/14293816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!