C++
默默的菜鸟--
这个作者很懒,什么都没留下…
展开
-
不可变类
1. 不可变类:创建该类的实例后,该实例的属性是不可改变的,java提供的包装类和java.lang.String类都是不可变类。当创建它们的实例后,其实例的属性是不可改变的。 例如:Double d = new Double(2.3); String str = new Strin转载 2016-05-06 20:54:01 · 258 阅读 · 0 评论 -
命名空间的使用
在我们写大的程序时,上万行,十万行,或者更多时,那时可能不是我们一人在哪里写而是有一个团队或多个团队共同完成它。那么,那么多的人共同去写一个程序那么就避免不了出现同函数名或者同变量名,那么当运行时由于有相同的函数名或者变量名那么就会出现编译错误。那么,如何去解决这样的错误呢?我们又不能边写边告诉别人,“哎,我这变量名我用了,你不能再用了”。哪的多么麻烦啊!而且,那么多的数据得定义多么多的名字啊,我原创 2016-03-12 19:34:38 · 351 阅读 · 0 评论 -
调用构造函数和析构函数的顺序
构造函数的作用是C++为了解决数据初始化而产生的。因为对对象的初始化,类的数据成员是不能在声明类时初始化的。因为类是抽象的,并不是一个实体,并不占储存空间,显然无法容纳数据,所以便出现了构造函数。 析构函数是一种特殊的成员函数,它的作用与构造函数相反,他的名字是在类名前加上一个“~”符号,在C++中“~”是位取反运算符。特征是:1.在对象的生命周期结束时,会自动执行析构函数。2.析构函原创 2016-03-20 08:59:07 · 761 阅读 · 0 评论 -
作用域与生命周期
作用域与生命周期是描述了常量,变量,函数的等对象的使用范围,当程序代码中这些对象一旦超过了这个范围,那么将出现编译错误。下面我们来研究一下它; 局部作用域描述的是函数体中变量和函数的适用范围,每一个函数都有自己的局部作用域。在函数体中定义的变量,函数对于外部函数是不可见的看,因为他们在函数的局部作用域中,对函数复合语句定义的对象在语句外也是不可使用的,因为它也有自己的作用域;局原创 2016-03-26 17:04:38 · 580 阅读 · 0 评论 -
继承的定义和具体使用-1
继承性是OOP中最重要的特征,可以说,如果没有掌握继承性,就等于没有掌握类和对象的精华,就是没有掌握OOP的真谛。因为OOP强调的是软件的可重用性。那么,继承这么重要,他到底是什么呢?在C++中·,所谓的继承就是在一个已经存在类的基础上建立一个新类。比如,马是一个父类,那么他诞生的公马就是在他的基础上,加了一个性别属性。那么他诞生的是一个白公马,那么白公马就是公马的继承,然后又多加了颜色这原创 2016-04-03 19:45:24 · 604 阅读 · 0 评论 -
重载之函数重载
重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,函数的重载其实就是"一物多用"的思想(这里指的"物"是"函数名")。但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。两个重载函数必须在下列一个或两个方面有所区别:原创 2016-04-17 12:43:57 · 451 阅读 · 0 评论 -
牧场主与猎户的故事
牧场主与猎户的故事要说服一个人,最好的办法是为他着想,让他也能从中受益。一个牧场主人养了许多羊。他的邻居是个猎户,院子饲养了一群凶猛的猎狗。这些猎狗经常跳过栅栏,袭击牧场里的羔羊。牧场主人几次请猎户把狗关好,但猎户不以为然,口头上答应,可没过几天,他家的猎狗又跳进牧场横冲直闯,咬伤了好几只小羊。忍无可忍的牧场主人找镇上的法官评理。听了他的控诉,明理的法官说:“我可以处罚那个猎户,也原创 2016-04-18 20:55:57 · 3335 阅读 · 0 评论 -
重载之运算符重载
运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。运算符重载的声明方式与方法的声明方式相同,但operator关键字告诉编译器,它实际上是一个运算符重载,后面是相关运算符的符号,在本例中就是+。返回类型是在使用这个运算符时获得的类型。在本例中,把两个矢量加起来会得到另一个矢量,所以返回类型就是Vector。对于这个+运算符重载,返回类型与包含类一样,但这种原创 2016-04-24 15:11:55 · 383 阅读 · 0 评论 -
重载之重载流插入和流提取运算符
C++的流插入运算符“>”是C++在类库中提供的,所有C++编译系统都在类库中提供输入流类istream和输出流类ostream。cin和cout分别是istream类和ostream类的对象。在类库提供的头文件中已经对“>”进行了重载,使之作为流插入运算符和流提取运算符,能用来输出和输入C++标准类型的数据。因此,凡是用“cout>”对标准类型数据进行输入输出的,都要用#include 把头文件原创 2016-05-02 14:31:54 · 1624 阅读 · 0 评论 -
C++ 中的类型转换函数
用转换函数可以将一个指定的数据转换成类的对象。但是不能反过来将一个类的对象转换为一个其他类型的数据。那我们该如何做呢?所以C++又提供了一种函数可以将一个类的对象转换为其他类型的数据。这便是类型转换函数!!! 如果已经申明了一个Complex类,可以在类中这样定义:operator double(){ return real ;} 函数返回double型变量real的值,其原创 2016-03-06 14:19:54 · 381 阅读 · 0 评论