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》
重载函数_百度百科
重载与重写的区别_百度知道
今日收藏:
重载与重写的区别_百度知道。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!