- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 virtual关键字用法总结
virtual关键字的作用:指示c++编译器对该函数的调用进行动态联编。只有当访问虚函数是通过基类指针s时才可以获得运行时的动态性。1. 在基类中,必须把成员函数定义为虚函数,即加关键字"virtual"2. 在派生类中,虚函数被重新定义时,其函数的原型与基类中的函数原型必须完全相同。3. 必须用指向基类的指针(或引用)访问虚函数,此时多态性才能实现。4. 虚函数作为动态联编的基础
2011-12-18 15:48:04 554
原创 =号运算符的重载
#include #include #include using namespace std;class A{public: A(char *s) { ptr=new char[strlen(s)+1]; strcpy(ptr,s); } ~A() { delete ptr; } void print() { cout
2011-12-17 22:31:32 584
原创 普通函数重载和友元函数重载
#include #include #include using namespace std;class A{public: A(int a,int b) { this->a=a; this->b=b; } ~A() { } int geta() { return a; } int getb() { ret
2011-12-17 16:00:39 668
原创 归并排序
1. 2路归并排序 给两个已经排好序的长度相等的数组a,b将排序结果记录到数组C中。算法:取两个下标i,j分别记录数组a,和b的下标,每次那次a[i]和b[j]作比较,如果a[i]>b[j],则j++,否则i++,如果某个下标超出数组长度,则结束循环,另一个数组将其后的元素依次补到数组C后。void p_merge(int a[],int b[],int c[],int len
2011-12-13 17:16:03 293
原创 堆排序
堆排序:1.将待排序记录按照堆的定义建初堆,并输出堆顶元素。2. 调整剩余的记录序列,利用筛选法将前n-i个元素重新筛选建成一个新堆,在输出堆顶元素3. 重复执行,进行n-1次筛选。代码实现#include#includevoid sift(int r[],int k,int m){ int t; int i,j; bool finished=false
2011-12-10 17:14:46 323
原创 插入排序
插入排序:每次从待排序的数中拿出一个作为key,和前面的数字依次开始比较,如果待排序的数字小,则将比较的数后移,然后继续比较,直到找到小于key的数字。代码:#include void insert_sort(int arr[],int len);void insert_sort(int arr[],int len){ int i,j; int key;
2011-12-03 16:21:11 285
原创 内存管理
静态区:保存自动全局变量和static变量(包括static全局和局部变量)。静态区的内容在整个程序的生命周期内都存在,有编译器在编译的时候分配。栈: 保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容、也会自动被销毁。其特点是效率高,但空间大小有限。堆:由 malloc系列函数或 new操作符分配的内存。其生命周期由 free或 delete决定。在没有释放之前一
2011-12-03 15:44:36 222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人