对于C++,我想在大多数的程序员心中第一印象是非常复杂的,C++的学习曲线也是非常陡峭的。在学习C++的那些岁月中,个人认为造成C++陡峭的学习曲线最重要的原因就是国内对C++的功能特性翻译反人类。那些反人类的翻译严重的挑战了我们对生活常识的理解。而我个人也总是喜欢把复杂的概念都转换成方便理解的生活常识。
下面一些概念是我在学习C++中碰到的一些难以理解的概念,这些概念其实也不复杂,个人拙见是名词翻译的不准确造成的。
我们来一起看下这些让C++难以理解的反人类翻译。
构造函数
构造函数应该更名为“初值函数”。构造函数最主要的作用是给成员变量赋予初值。当然你也可以在里面加一条cout输出。但主要的功能就是赋予初值,给初值就是构造函数的主要工作了。
class Time
:Time(int n):num(n){}
:int num;
};
析构函数改为清扫函数
析构函数的叫法太过拗口,但是成为“清扫函数”后就简单明了了。析构函数的作用就是“清理善后” (例如用new建立对象开辟了一片内存空间后,会自动调用析构函数释放内存)。
C++当中的析构函数格式如下:
class Time
:Time(){}
};
函数重载和运算符重载也需要改
萌新第一次接触“重载”这个词,不明觉厉,感觉就是一个逆天的能力,学习上一个难啃的骨头。然而重载应该改为同名异类。例如ABC这3个小朋友,都叫“小明”,A小明,擅长打球,以后班上所有打球的活都找A小明。B小明擅长绘画,以后班上绘画的事就找B小明。C小明擅长舞蹈虚基类,以后班上舞蹈的事就找C小明了。
函数重载举列:
int Max (int,int);//返回两个整数的最大值;
int Max (const &);//返回容器中的最大值;
int Max (const &);//返回引用的最大值;
运算符重载举列:
Box +(const Box&);
Box +(const Box&, const Box&);
友元函数改为好友函数
ABC2个小朋友,每个人都有各自的好朋友,只有好朋友之间才会分享零食。友元函数就是这个功能。比如把A函数声明成自己的好友函数后,这个A函数就可以访问好友函数的私有数据成员了。
class Box
width;
:
;
void ( Box box ); //友元函数//
void ( wid );
};
派生类改为儿子类,派生改为‘生’虚基类,基类改名为父类
一个儿子类从一个父类哪里继承了财产叫做单继承。一个儿子类从两个或多个父类哪里继承了财产叫做多重继承。虚基类应该改名为抠门父类,因为他把财产给儿子时会和其他抠门父亲一起商量,保证每个人给儿子的东西不会重复。
class N:
{:
Int x;
Void (){cout