C++怎么实现多态?

2021-03-06 11:30

阅读:546

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

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

函数重载

#include 

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


评论


亲,登录后才可以留言!