2016年6月8日

C++ const使用详解

摘要: 1.const常量和宏常量const int max=100;#define max 100;const常量相对宏常量有两个有点:1)有类型安全检查2)占用内存空间少 2.const变量在内存中的位置我们在C程序的内存布局中,已经通过示例进行了说明 3.const常成员变量的初始化在某个对象生存期内 阅读全文

posted @ 2016-06-08 14:28 迪米特 阅读(1246) 评论(1) 推荐(0) 编辑

2016年6月6日

C++多继承

摘要: 1.继承的三种方式: 公有继承(public),私有继承(private),保护继承(protected)三种继承方式的说明,如下表所示: 2.什么是多继承 一个类有多个基类,那么这种继承关系就叫做多继承。比如有两个类,服务员类Waiter,歌手类Singer,我们有一个类既是服务员,又是歌手,那么 阅读全文

posted @ 2016-06-06 18:56 迪米特 阅读(4768) 评论(0) 推荐(0) 编辑

2016年6月5日

C++抽象类

摘要: 1.为什么要有抽象类 我们举一个例子,程序有两个类,椭圆Ellipse类,圆Circle类。我们知道椭圆是包括圆的,那么我们可以使用继承: 然而,我们在定义各自的成员变量和成员函数时,发现两个类的成员有很大的不同,比如Ellipse类需要长短轴半径,中心坐标,方向角才能确定位置,另外还包括移动椭圆, 阅读全文

posted @ 2016-06-05 23:52 迪米特 阅读(2204) 评论(0) 推荐(0) 编辑

C++重载,重写,重定义

摘要: 1.重载:重载是在一个类中,函数名一样,参数类型或参数个数不同的一系列函数需要注意的是,与返回类型无关。 2.重写我们比较熟悉的另一个词是“覆盖”用在继承中,子类若没有重新定义父类的虚方法,则子类对象调用该方法时,使用的仍是父类的方法;否则,子类覆盖了父类的虚方法,调用时使用的是重新定义的方法。 输 阅读全文

posted @ 2016-06-05 03:59 迪米特 阅读(371) 评论(0) 推荐(0) 编辑

C++虚函数表与虚析构函数

摘要: 1.静态联编和动态联编联编:将源代码中的函数调用解释为要执行函数代码。静态联编:编译时能确定唯一函数。在C中,每个函数名都能确定唯一的函数代码。在C++中,因为有函数重载,编译器须根据函数名,参数才能确定唯一的函数代码。动态联编:编译时不能确定调用的函数代码,运行时才能。C++中因为多态的存在,有时 阅读全文

posted @ 2016-06-05 01:23 迪米特 阅读(5805) 评论(0) 推荐(0) 编辑

2016年6月1日

C++ 初始化列表

摘要: 1.初始化列表的写法 初始化列表,写在类的构造函数后面,以冒号开头,后跟一系列用逗号分隔的初始化字段。如下列所示: class Person { public: Person(std::string s, int i):name(s), age(i) { std::cout<<"Person(std 阅读全文

posted @ 2016-06-01 18:11 迪米特 阅读(349) 评论(0) 推荐(0) 编辑

2016年5月31日

C++类的构造函数详解

摘要: 1.默认构造函数1) 当没有定义任何构造函数时,编译器会提供默认构造函数,可以直接使用。2) 如果定义了带参数的构造函数,又需要使用默认构造函数,此时,必须显式定义无参构造函数,这和C#中有很大的不同。例如有一个蔬菜类Veg:Veg(const char* name,int num,double p 阅读全文

posted @ 2016-05-31 15:30 迪米特 阅读(2730) 评论(0) 推荐(0) 编辑

2016年5月30日

C++异常详解

摘要: 1.对异常的几种处理方式1)调用abort()abort()函数的原型位于头文件cstlib中,其实现是向标准错误流发送abnormal program termination(程序异常终止),然后终止程序。示例如下: 2)返回错误码使用一个bool值来标记,运行结果是成功,还是失败。示例如下: 3 阅读全文

posted @ 2016-05-30 17:41 迪米特 阅读(411) 评论(0) 推荐(0) 编辑

2016年5月27日

C/C++中获取数组的长度

摘要: C/C++中没有提供直接获取数组长度的函数。对于存放字符串的字符数组,可用strlen函数获取长度。 如:char a[]="hello world";int count = strlen(a); 对于其他类型的数组,可使用sizeof(array)/sizeof(array[0]),计算长度。 在 阅读全文

posted @ 2016-05-27 17:15 迪米特 阅读(13842) 评论(0) 推荐(2) 编辑

C++程序文件链接

摘要: 1.什么是转换单元程序中的每个.cpp文件和它包含的所有头文件称为一个转换单元。编译器处理每个转换单元,生成二进制对象文件,用扩展名.obj来标识。链接器将对象文件组合起来,生成一个可执行文件,用扩展名.exe来标识。 2.作用域使用{}来限定变量的作用域 内部作用域可以定义一个和外部作用域相同的名 阅读全文

posted @ 2016-05-27 10:26 迪米特 阅读(1152) 评论(0) 推荐(1) 编辑

导航