优点: 类继承是在编译时刻静态定义的,且可以直接使用,类继承可以较为方便的修改父类的实现。 缺点: 1:因为继承在编译时刻就定义了,所以无法再运行时改编从父类继承的实现。 2:父类通常至少定义了子类的部分行为,父类任何改变都可能影响子类的行为。 3:如果继承下来的实现,不适合解决新的 问题,则父类必须重写或被其他更合适的函数进行替代。 4:这种依赖关系限制了灵活性并且最终限制了复用性。
优点: 类继承是在编译时刻静态定义的,且可以直接使用,类继承可以较为方便的修改父类的实现。 缺点: 1:因为继承在编译时刻就定义了,所以无法再运行时改编从父类继承的实现。 2:父类通常至少定义了子类的部分行为,父类任何改变都可能影响子类的行为。 3:如果继承下来的实现,不适合解决新的 问题,则父类必须重写或被其他更合适的函数进行替代。 4:这种依赖关系限制了灵活性并且最终限制了复用性。
delete和delete[]区别 1:delete只能调用一次析构函数,而delete []会调用每个成员的析构函数。 2:delete和new配套,delete[]和new[]配套。 3:对于内件简单的数据类型,delete和delete[]功能类似,对于自定义复杂的数据类型,delete和delete[]不能互用。 4:detele指向的是一个单个对象,delete[]指向的是一个数组。
new,delete,malloc,free之间有什么有关系?有以下四点: NO.1 malloc和free是C的标准函数库,new和delete是C++运算符,都可以申请动态内存和释放内存,new自动分配,malloc手动计算字节数。 NO.2 malloc和free不能自动完成执行构造函数和析构函数,new和delete不是函数库,能进行构造和析构的调用进而对内存进行更加详细的工作。 NO.3 new是类型安全的,malloc不是。new在编译出错时候会报错,malloc不会报错。 NO.4 new的功能能够覆 […]
C语言,希尔排序实例 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> void PrintArray(int arr[], int len){ for (int i = 0; i < len; i++){ printf("%d ", arr[i]); } printf("\n"); } //希尔排序 void ShellSort(int arr[] […]
C语言,插入排序实例 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> void PrintArray(int arr[], int len){ for (int i = 0; i < len; i++){ printf("%d ", arr[i]); } printf("\n"); } //插入排序 从小到大 void InsertSort(int […]
C语言,继承,封装,多态实例 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> using namespace std; class Person{ public: void goWork(){ cout << "去工作!" << endl; } private: string mName; int mAge; }; class Sunzi : public Person{}; cl […]
C语言,二叉树的递归遍历实例 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct _TREENODE{ char ch; struct _TREENODE* lchild; //指向左孩子 struct _TREENODE* rchild; //指向右孩子 }TreeNode; //树的递归遍历(先序遍历) void Recur […]
C语言冒泡排序的实例 #include <stdio.h> //冒泡排序(正序,倒序) void maopaopaixu(int arr[],int len){ for(int i=0;i<len;i++){ for(int j = 0; j<len; j++){ if(arr[j+1] < arr[j]){ //正序 //if(arr[j+1] > arr[j]){ //倒序 int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = te […]
C语言中的文件操作字符读写应该怎么写呢?看下面的代码对你的问题会有所帮助! #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> ////文件逐个字符写入,读取。 ////写文件 void test01(){ FILE* fp_write = NULL; char* filepath = "./test.txt"; //打开文件 fp_write = fope […]
下面的实例讲述的是链表的插入,清空,销毁,链表节点的插入,希望对初学者有所帮助! 实例: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> //链表是由一系列节点组成,节点包含两个域,一个是数据域,一个指针域 typedef struct _tag_LINKNODE{ int data; //数据域 struct _tag_LINKNODE* next; […]
一 | 二 | 三 | 四 | 五 | 六 | 日 |
---|---|---|---|---|---|---|
« 7月 | ||||||
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |