[19计科一]C++知识点

用户头像
来自上海海洋大学-陈奕杰发布于:2020-04-25 21:30:47

1.重载函数是否能够通过函数返回值的类型不同来区分?

   不可以。因为在C++编程中,函数的返回值可以忽略(不使用其返回值),程序中调用此时函数名相同和参数相同的两个函数对编译器和程序员来说是没有办法区分的,编译器会提示出错。 

2.C++多态机制的实现

(1)重载:同一个类中同一个函数的不同实现,必须保证函数参数不同(类型,个数,顺序),本质上与多态无关。使用重载函数,编译器会根据函数的名称和参数定义来生成函数的内部标识符,保证每个函数的标识符是唯一的,这样在链接时就可以链接到对应的函数。重载属于静态绑定,在编译过程中就能确定调用哪一个函数,是早期绑定,与多态原理不同。

(2)覆盖:也称为重写,子类中对父类的同名函数同参数的重写,父类的函数必须设置为虚函数,这样保证使用基类指针或者引用指向不同的子类对象可以动态调用属于具体子类的方法而不是调用基类的方法,从而实现多态。

 PS:C++中 多态一般默认是指动态多态(通过类继承机制和虚函数机制实现),是在运行时确定的,在面向对象编程中直接被称为多态,而静态多态一般是指使用函数重载或者模板机制实现的。模板也允许将不同的特殊行为和单个泛化记号相关联,由于这种关联处理于编译期而非运行期,因此被称为“静态”。可以用来实现类型安全、运行高效的同质对象集合操作。C++ 的STL库大量使用了模板机制来实现,而并没有使用虚函数机制,属于静态多态。

来源网址:https://www.cnblogs.com/chenwx-jay/p/library1.html

来源网址:

点赞 (26) 回复
1F 用户头像
来自上海海洋大学-王志成发布于:2020-07-20 17:41:16

学到了学到了

加载更多
点击图片
取消
回复
2F 用户头像
来自上海海洋大学-王垌发布于:2020-07-20 17:46:18
写的很好
加载更多
点击图片
取消
回复
3F 用户头像
来自上海海洋大学-张雨晴发布于:2020-07-20 17:46:31
C++中 多态一般默认是指动态多态(通过类继承机制和虚函数机制实现),是在运行时确定的,在面向对象编程中直接被称为多态,而静态多态一般是指使用函数重载或者模板机制实现的。模板也允许将不同的特殊行为和单个泛化记号相关联,由于这种关联处理于编译期而非运行期,因此被称为“静态”。可以用来实现类型安全、运行高效的同质对象集合操作。C++ 的STL库大量使用了模板机制来实现,而并没有使用虚函数机制,属于静态多态。
加载更多
点击图片
取消
回复
4F 用户头像
来自上海海洋大学-张雨晴发布于:2020-07-20 18:02:13
重载:同一个类中同一个函数的不同实现,必须保证函数参数不同(类型,个数,顺序),本质上与多态无关。使用重载函数,编译器会根据函数的名称和参数定义来生成函数的内部标识符,保证每个函数的标识符是唯一的,这样在链接时就可以链接到对应的函数。重载属于静态绑定,在编译过程中就能确定调用哪一个函数,是早期绑定,与多态原理不同。
加载更多
点击图片
取消
回复
5F 用户头像
来自上海海洋大学-张雨晴发布于:2020-07-20 18:02:52
覆盖:也称为重写,子类中对父类的同名函数同参数的重写,父类的函数必须设置为虚函数,这样保证使用基类指针或者引用指向不同的子类对象可以动态调用属于具体子类的方法而不是调用基类的方法,从而实现多态。
加载更多
点击图片
取消
回复
6F 用户头像
来自上海海洋大学-姚慧杰发布于:2020-07-20 18:14:58

了解了

加载更多
点击图片
取消
回复
7F 用户头像
来自上海海洋大学-曾硕星发布于:2020-07-20 18:25:04
了解
加载更多
点击图片
取消
回复
8F 用户头像
来自上海海洋大学-陈泓儒发布于:2020-07-20 18:38:15

讲得很好。

加载更多
点击图片
取消
回复
9F 用户头像
来自上海海洋大学-孙杨博发布于:2020-07-20 18:39:41

我懂了。

加载更多
点击图片
取消
回复
10F 用户头像
来自上海海洋大学-张海发布于:2020-07-20 18:41:42

学习了

加载更多
点击图片
取消
回复
11F 用户头像
来自上海海洋大学-秦瀚翔发布于:2020-07-20 20:23:04

学到了学到了

加载更多
点击图片
取消
回复
12F 用户头像
来自上海海洋大学-生蕙语发布于:2020-07-20 20:33:59
学到了
加载更多
点击图片
取消
回复
13F 用户头像
来自上海海洋大学-李佳杭发布于:2020-07-20 20:34:20
感谢分享
加载更多
点击图片
取消
回复
14F 用户头像
来自上海海洋大学-刘犇发布于:2020-07-25 15:30:18

感谢分享

加载更多
点击图片
取消
回复
发布回复
点击图片