大约 C++ 几个方面分析--overload, override, overwrite, rewrite
overload, override, overwrite, rewrite 这几个单词常常出如今 C++ 书中,翻阅一些译版后发现并未对 override, overwrite, rewrite 严格区分,大都翻译成重写。事实上查阅英文原版会发现。不同的上下文用不同的单词描写叙述。
下面逐个分析:
• overload 重载
对于这个翻译。临时没有异议。或许正是因为 overload 翻译成重载,导致把 override 直接翻译成重写。
• override 覆盖
非常多译版翻译成重写。本人认为这样翻译有歧义,究竟是全然又一次写还是保留原来方法再写一个新的?无法从字面了解其意思。如果翻译成覆盖或覆写,并解释 override 仅仅是对原方法的另外实现。原方法并未放弃,就不会和 overwrite 混淆。比如。如果 one.cpp 和 two.cpp 两文件在一个完整的程序中同一时候编译。其各自的程序片段例如以下:
// one.cpp
#include <iostream>
int dick = 10; // external variable definition 外部变量定义
...
//two.cpp
#include <iostream>
static int dick = 20; // override external dick 覆盖外部变量 dick
...
two.cpp 中的 dick 覆盖了原来 one.cpp 中的 dick。可是原来的 dick 仍然存在,仅仅只是 dick 在 two.cpp 中被又一次定义了。
• overwrite 擦写
网上把 overwrite 和 override 划等号的人比比皆是。觉得都是重写的意思。事实上 overwrite 才是真正意义上的重写。若翻译成擦写,更一目了然,擦掉原来的值,在原处又一次写。
比如:
int x = 8;
x = 9; // overwrite x with 9 (把 x 擦写为 9)
这里 x 的原值 8 已经被擦写为 9。原值 8 被 9 取代。
• rewrite 重写
该单词常常出如今编程练习中,题目要求重写某例题或某样例。比如:“ Rewrite this code without using break or continue . ” 或 “ Rewrite the
following fragment using switch : ”
英英字典对 rewrite 的英文解释为:in order to improve it or change it. 为了提高或改变之。比較接近 rewrite 的中文就是重写或者润色。下面是重写某些原因又写了一封信,最初写仍然有效。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
大约 C++ 几个方面分析--overload, override, overwrite, rewrite的更多相关文章
- c/c++:重载 覆盖 隐藏 overload override overwrite
http://www.cnblogs.com/qlee/archive/2011/07/04/2097055.html 成员函数的重载.覆盖与隐藏成员函数的重载.覆盖(override)与隐藏很容易混 ...
- overload, override和overwrite之间的区别
Overload.Overwrite和Override的概念比较容易混淆,而且Overwrite和Override的中文翻译五花八门,让人很Confuse,顾保持英文原意: Overload 重载 ...
- c++中的overload、overwrite、override
作为初学者,本文只从语法和简单的使用角度对overload.overwrite.override进行了区分,不曾涉及原理,记录下来以供查阅. 1.verload(重载) 1.1 基本要求: c++中的 ...
- Overload&Override
Overload&Override overload-–重载 方法的重载就是在一个类中,可以定义多个有相同名字,但参数不同的方法.调用时,会根据不同的参数表选择对应的方法. 规 则:两同 ...
- overload、overwrite、override
1.重载 overload 函数名一样,参数不同(类型.顺序,与返回值类型无关),重载的函数一般在同一个类中 class A { public: void test() {} void test(in ...
- Java 中override、overload、overwrite区别,以及与多态的关系【转】
因为早期的翻译导致了override和overwrite的解释及理解混乱,需要重新梳理这几个词及相关内容. 转自:http://blog.csdn.net/lzhang007/article/deta ...
- 如何理解重载与重写——Overload vs Override/Overwrite
重载: 在同一个类中,拥有类似功能的同名方法之间的关系叫做重载. 重载的条件:1.具有相同方法名和类似功能: 2.参数的类型或者个数不同: 3.与返回值无关: 重写: 在子父类的继承关系中,子类继承父 ...
- overload and overwrite in C++
1. overload : don't using it in different scope. it will hidden the one in base or global scope. 2. ...
- 方法的重写(override / overwrite)
1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作 2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法. 重写的规 ...
随机推荐
- SpringMVC(转)
http://www.cnblogs.com/liukemng/p/3725582.html
- hdu1005 Number Sequence(寻找循环节)
主题链接: pid=1005">huangjing 题意: 就是给了一个公式,然后求出第n项是多少... 思路: 题目中n的范围实在是太大,所以肯定直接递推肯定会超时,所以想到的是暴力 ...
- Android定位功能
不说废话,直接说说实现android定位有关的API吧. 这些API都在android.location包下,一共有三个接口和八个类.它们配合使用即可实现定位功能. 三个接口: GpsStatus.L ...
- 网站上flv,MP4等格式的视频文件播放不出来的解决办法
在做一个网站时,发现视频文件,比如flv,MP4格式在本地可以正常的播放,但是传到了开发机器上,就不行了.播放器的文件地址是对的,就是一直没有反应. 经过长时间的实验,发现问题在与iis的设置问题.i ...
- Gitblit配置
Gitblit的安装配置及访问-windows (2013-09-11 11:52:31) 转载▼ 分类: android基础 Git 是现在很流行的分布式版本控制工具,github更是人人皆知. ...
- HDU 1394 Minimum Inversion Number (数据结构-段树)
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- sql server从一个数据库复制一个表到另一个数据库的方法
分两步进行: 第一步,复制表结构: 在表上面右击——>编写表脚本为:——>Create到——>新查询编辑器窗口,你也可以保存为sql文件, 将新查询编辑器窗口最上面的一句话USE [ ...
- 【Android进阶】Android面试题目整理与讲解(一)
这一篇文章专门整理一下研究过的Android面试题,内容会随着学习不断的增加,如果答案有错误,希望大家可以指正 1.简述Activity的生命周期 当Activity开始启动的时候,首先调用onCre ...
- 【 D3.js 入门系列 --- 4 】 怎样使用scale(比例)
本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 在上一节中使用了一个非常重要的概念 - scale (这个不知道 ...
- 乐在其中设计模式(C#) - 外观模式(Facade Pattern)
原文:乐在其中设计模式(C#) - 外观模式(Facade Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 外观模式(Facade Pattern) 作者:webabcd 介绍 ...