20200405_重载和重写

20200405_重载和重写

每日小知识

米格尔·格林贝格,近30年开发经验的软件工程师,以撰写Python项目开发的博客而广为Python开发者所熟知,经常受邀在PyCon等大会上分享开发经验。代表作有《Flask Web开发:基于Python的Web应用开发实战》(第2版)

一、相关术语

  • 重载
    C++允许在同一范围中声明几个功能类似的同名函数,但是它们的形参不同,即同一个函数名可以实现不同的行为。这种函数就叫作重载函数。

  • 重写(覆盖)
    重写,又叫覆盖,是由子类函数重新实现父类virtual函数的一种方式。

二、笔试题

1、重载与重写的区别。
答:(一)定义上的区别:重载是指不同的函数使用相同的函数名,但参数列表不同。
重写,又名覆盖,是指在派生类中重新对基类中的虚函数重新实现,参数列表相同,但函数体不同。

(二)规则上的区别:重载的规则是:参数列表必须不同。

(三)命名上的区别:
重载,overloading。重写,overwriting。

2、多态的作用。

答:(一)隐藏实现细节,使代码可以模块化。扩展代码模块,实现可重用。
(二)接口重用:为了类在继承和派生的时候,保证使用家族中任一类的实例的某一属性时的正确调用。

3、new、delete和malloc、free的联系与区别。
答:联系:都是在堆上进行动态的内在操作。
区别:malloc需要指定内存分配的字节,且不能初始化对象。
new会自动调用对象的构造函数,delete会自动调用对象的析构函数。
free不会调用对象的析构函数。

知识扩展

无。

本文归类

建议归类到【C++】。

明日计划

1、#define DOUBLE(x)x+x。
2、哪些情况只能用initialization而不能用assignmentbr> 3、C++是不是类型安全的/p>

参考文献:

《C++笔试面试宝典2011版.docx》
重载函数_百度百科
重载与重写的区别_百度知道

今日收藏:

重载与重写的区别_百度知道。

来源:丰哥86

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月4日
下一篇 2020年3月4日

相关推荐