C++考试简答题复习
- 格式:doc
- 大小:5.70 KB
- 文档页数:3
数据结构c语言期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的区别在于()。
A. 结构中元素的个数B. 结构中是否包含子结构C. 结构中元素之间是否有一对一关系D. 结构中元素之间是否有一对多关系答案:C2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。
A. 存储密度高B. 存储密度低C. 插入和删除操作快D. 存储空间可以动态分配答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。
A. i-1B. n-iC. n-i+1D. n-i-1答案:B4. 栈的运算遵循()原则。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C5. 在二叉树的前序遍历中,访问顺序为()。
A. 根-左-右B. 左-根-右C. 左-右-根D. 右-左-根答案:A6. 哈希表的冲突解决方法中,链地址法是()。
A. 将所有元素存储在同一个存储单元B. 将所有元素存储在同一个链表中C. 将所有元素存储在同一个数组中D. 将所有元素存储在同一个链表的同一个位置答案:B7. 在图的遍历中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。
A. 遍历的顺序不同B. 遍历的起点不同C. 遍历的路径不同D. 遍历使用的存储结构不同答案:D8. 快速排序算法的时间复杂度为()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B9. 归并排序算法的时间复杂度为()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B10. 在二叉搜索树中,查找一个元素的时间复杂度为()。
A. O(n)B. O(logn)C. O(n^2)D. O(1)答案:B二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的时间复杂度通常用______来描述。
答案:大O符号2. 线性表的两种基本操作是插入和______。
《C语言程序设计》复习纲要B一、单选题1. 以下对C语言的表述错误的是()。
A. C语言适合于数据管理领域B. C语言是一种结构化语言C. C语言适合编写操作系统D. C语言是伴随UNIX系统发展起来的2. C语言的数据类型中以*表示()数据类型。
A. 空类型B. 结构体C. 指针D. 实型3. 常数的书写格式决定了常数的类型和值,0x1011是()。
A. 8进制整型常量B. 字符常量C. 16进制整型常数D. 2进制整型常数4. 表达式 18/4*sqrt(4.0)/8值的数据类型是()。
A. intB. floatC. doubleD. 不确定5. 下列不可作为C语言赋值语句的是()。
A. x=3,y=5;B. a=b=6;C. i--;D. y=int(x)6. 以下程序运行后,输出结果是()。
main( ){char *s="abcde";s+=2;printf("%ld\n",s);}A. cdeB. 字符c的ASCII码值C. 字符c的地址D. 出错7. 以下说法中正确的是()。
A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句8. 下面程序的输出是()。
main( ){ int y=9;for( ; y>0; y--){ if (y%3==0){ printf("%d", --y);continue;}}}A. 741B. 852C. 963D. 8754219. 循环语句不包括()。
A. for;B. case;C. goto;D. continue;10. 设已有定义: char *st="how are you"; 下列程序段中正确的是()。
A. char a[11], *p; strcpy(p=a+1,&st[4]);B. char a[11]; strcpy(++a, st);C. char a[11]; strcpy(a, st);D. char a[], *p; strcpy(p=&a[1],st+2);二、多选题1. 以下对C语言的表述正确的是()。
c程序设计考试题C程序设计考试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示方式?A. 0x1234LB. 1234.0C. 1234D. 0x12342. 下列哪个是C语言中的合法标识符?A. 2variableB. variable-C. variable2D. variable#3. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a - b;C. a = a / b;D. a = b; b = a;4. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!" "Hello, World!"D. {"Hello, World!"}5. 以下哪个函数可以用于计算数组中元素的总和?A. sum()B. count()C. average()D. find()6. 以下哪个是C语言中的控制语句?A. ifB. whileC. switchD. All of the above7. 在C语言中,以下哪个是正确的函数声明?A. int function(int a, int b);B. int function(a, b);C. int function(int a, b);D. function(int a, int b);8. 以下哪个是C语言中定义结构体的关键字?A. structB. unionC. enumD. typedef9. 在C语言中,以下哪个是正确的指针声明?A. int *pointer;B. pointer int;C. int pointer[];D. int *pointer[10];10. 下列哪个是C语言中正确的数组初始化方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = 1, 2, 3, 4, 5;C. int arr[] = {1, 2, 3, 4, 5};D. All of the above二、简答题(每题10分,共20分)1. 解释C语言中的指针和引用的区别。
心理健康c证考试试题心理健康C证考试试题一、选择题(每题2分,共40分)1. 心理健康的定义是指:A. 身体没有疾病B. 心理状态良好,适应能力强C. 拥有高智商D. 社会地位高2. 下列哪个不是心理健康的标准?A. 自我接纳B. 情绪稳定C. 物质财富丰富D. 人际关系和谐3. 心理应激是指:A. 个体对外界威胁的反应B. 个体对内心冲突的反应C. 个体对美好事物的感受D. 个体对成功经历的回味4. 心理防御机制的主要功能是:A. 增加个体的心理压力B. 减少个体的焦虑感C. 促进个体的攻击行为D. 增强个体的自我中心主义5. 以下哪项不是心理治疗的方法?A. 药物治疗B. 认知行为疗法C. 精神分析疗法D. 艺术疗法6. 心理健康教育的主要目的是:A. 提高个体的学业成绩B. 增强个体的心理素质C. 增加个体的收入水平D. 提升个体的社会地位7. 情绪调节的重要意义在于:A. 保持身体健康B. 促进智力发展C. 维护心理健康D. 所有以上选项8. 以下哪个是焦虑症的症状?A. 情绪低落B. 过度担忧和恐惧C. 社交回避D. 思维迟缓9. 自我效能感是指个体对自己完成特定任务的:A. 兴趣程度B. 信心和能力的评估C. 经济投入D. 社会支持10. 心理健康问题的形成可能与以下哪些因素有关?A. 遗传因素B. 环境因素C. 个人经历D. 所有以上选项二、简答题(每题10分,共60分)1. 简述心理健康的重要性。
2. 描述心理应激对个体的影响。
3. 列举三种常见的心理防御机制,并简要解释其作用。
4. 阐述认知行为疗法的基本原理和应用。
5. 说明心理健康教育在社会中的作用。
6. 描述焦虑症的主要症状和可能的原因。
7. 解释自我效能感对个体行为和心理健康的影响。
8. 讨论现代社会中影响心理健康的主要因素。
三、案例分析题(共50分)小明是一名大学生,最近他感到非常焦虑和紧张,担心即将到来的期末考试成绩不理想。
c证心理学考试试题答案一、单项选择题(每题2分,共20分)1. 心理学研究的核心对象是什么?A. 行为B. 心理过程C. 心理特征D. 心理现象答案:D2. 以下哪项不是心理学的主要分支?A. 发展心理学B. 社会心理学C. 神经心理学D. 化学心理学答案:D3. 心理学的实证研究方法不包括以下哪项?A. 实验法B. 观察法C. 调查法D. 推理法答案:D4. 根据弗洛伊德的理论,人类行为的主要驱动力是什么?A. 自我实现B. 性本能C. 社会适应D. 认知发展答案:B5. 下列哪项不是认知心理学的主要研究内容?A. 知觉B. 记忆C. 情绪D. 人格答案:D6. 心理学研究中,定性研究方法不包括以下哪项?A. 深度访谈B. 案例研究C. 焦点小组D. 统计分析答案:D7. 心理学中的“双盲实验”是指什么?A. 实验者和参与者都不知道实验条件B. 实验者和参与者都不知道实验目的C. 实验者和参与者都不知道实验结果D. 实验者和参与者都不知道实验假设答案:A8. 以下哪项不是心理学研究的伦理原则?A. 尊重个体B. 保密原则C. 利益最大化D. 避免伤害答案:C9. 心理学中的“自我效能感”是指什么?A. 对自己能力的评估B. 对自己情绪的控制C. 对自己行为的预测D. 对自己外貌的评价答案:A10. 根据马斯洛的需求层次理论,最高层次的需求是什么?A. 生理需求B. 安全需求C. 社交需求D. 自我实现需求答案:D二、多项选择题(每题3分,共15分)1. 以下哪些是心理学研究的主要方法?A. 实验法B. 调查法C. 案例研究D. 元分析答案:ABCD2. 心理学的主要研究领域包括哪些?A. 认知心理学B. 生物心理学C. 临床心理学D. 工业与组织心理学答案:ABCD3. 以下哪些是心理学研究的伦理原则?A. 尊重个体B. 保密原则C. 避免伤害D. 利益最大化答案:ABC4. 根据弗洛伊德的理论,以下哪些属于潜意识的内容?A. 被压抑的欲望B. 遗忘的记忆C. 社会规范D. 梦的内容答案:ABD5. 心理学中的“情绪智力”包括哪些方面?A. 情绪识别B. 情绪调节C. 社交技巧D. 问题解决答案:ABC三、简答题(每题10分,共30分)1. 简述心理学的定义及其研究范围。
c语言笔试考试题及答案一、选择题1. 在C语言中,字符型数据使用的关键字是:A. charB. intC. floatD. double答案:A2. 下列标识符中合法的是:A. 123nameB. _nameC. name$D. %name答案:B3. 表达式"5 + 3 * 2 - 4 / 2"的值是:A. 9B. 12C. 10D. 8答案:C4. 下列哪个语句可以用于在屏幕上输出字符型变量c的值:A. printf("%c", c);B. printf("%d", c);C. printf("%s", c);D. printf("%f", c);答案:A5. 下列哪个语句可以用于从键盘输入整型变量a的值:A. scanf("%d", a);B. scanf("%f", &a);C. scanf("%s", a);D. scanf("%c", &a);答案:B二、编程题1. 编写一个程序,输入一个整数n,计算并输出n的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long long factorial = 1;printf("请输入一个整数:");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%lld\n", n, factorial);return 0;}```2. 编写一个程序,输入一个整数n,判断并输出n是否为素数。
答案:```c#include <stdio.h>int isPrime(int num) {int i;if (num <= 1) {return 0;}for (i = 2; i <= num / 2; i++) { if (num % i == 0) {return 0;}}return 1;}int main() {int n;printf("请输入一个整数:"); scanf("%d", &n);if (isPrime(n)) {printf("%d是素数\n", n); } else {printf("%d不是素数\n", n); }return 0;}```三、简答题1. C语言中的指针有什么作用?答案:指针在C语言中用于直接访问内存地址,可以提高程序的执行效率和灵活性。
心理健康c证考试试题一、选择题1. 下列哪种心理障碍属于情绪障碍?A. 社交恐惧症B. 强迫症C. 妄想症D. 双相情感障碍2. 心理健康的四个维度不包括下列哪个方面?A. 生理维度B. 心理维度C. 社会维度D. 知识维度3. 儿童时期的创伤经历可能导致什么心理问题?A. 抑郁症B. 焦虑症C. 自闭症D. 注意力不集中4. 下列哪种说法是正确的?A. 人格障碍有明确的病因B. 忧郁症是一种可逆的心理障碍C. 自杀是一种解决问题的有效途径D. 精神分裂症有很高的遗传风险5. 下列哪个干预方法不适用于情感障碍的治疗?A. 药物治疗B. 心理咨询C. 身体运动D. 禁止社交活动二、简答题1. 简要介绍心理障碍的分类和常见类型。
2. 请阐述自杀风险的评估指标,以及对自杀风险人群的干预措施。
3. 请分析谈话性心理治疗在心理健康康复过程中的作用,并举例说明。
三、论述题请选取一个你最熟悉的心理障碍类型(例如:抑郁症、焦虑症等),形成一篇完整的论述,包括:1. 该心理障碍的定义、症状及可能的成因;2. 该心理障碍的对个体和社会的影响;3. 该心理障碍的干预方法和治疗策略;4. 你认为在面对这种心理障碍时,个人和社会应该采取的态度和行动。
四、案例分析题请根据下列情境,分析并给出你个人作为心理咨询师的建议或干预措施。
情境:小李是一位35岁的男性,最近一年工作压力较大,感到焦虑、易怒、失眠,并且有时会出现胃痛的症状。
他寻求心理咨询时表示担心自己的身体健康出了问题。
五、实践题1. 请你写一份心理健康宣传海报,内容包括心理健康的重要性、积极的心理健康保持方式等。
2. 请你设计一份针对中学生群体的心理健康教育课程大纲,包括课程目标、教学内容和教学方法。
限时:120分钟。
试题结束,请仔细核对答案。
c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
C语言复习题一、单项选择题(每题3分)1.以下变量声明正确的是(D)A: int i = 0;int i = 5; B: int i = 0;j = 5;C: int i = 0,int j = 5;D: int i = 0;{ int i = 5;}2.下面代码的输出结果为(B)int main(void){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return 0;}A: 10,11,110 B: 10,12,120 C: 11,12,120 D: 11,11,110 3.下面代码运行后m的结果为(C)int m = 6;m = (m%3*4)?m/4:--m;printf("%d",m);A:1 B:2 C:5 D:64.下面代码运行后输出'*'的个数为(A)for (int j = 5; j<=10; ++j) {for (int i =0; i<10; i++) {printf("*");}}A:60 B:50 C:15 D:165.以下代码输出的结果为(D)int m = 0;for (int i = 0; i<5; i++) {switch (i) {case 0:m++;case 1:m++;break;case 2:m++;continue;case 3:m++;break;default:m++;continue;}m++;}printf("%d",m);A:12 B:11 C:10 D:96.以下代码运行的结果为(B)int i = 1,m = 1;for (; i<10; i++) {if (i/2 == 2 || i%4==0) {for (int j = 4; j < i; j++) {m+=j;}}}printf("m = %d",m);A: 26 B: 27 C: 28 D: 297. break关键字在哪一种语法结构中不能使用? (C)A: for语句B: switch语句C: if语句D: D. while语句8.下列数组说明中,正确的(C)A:int array[][]={0}; B:int array[3][]={0};C:int array[][4]={0};D:int array[][][5]={0};9.设变量定义为int x, *p=&x;则&(*p)相当于(C)A: *(&x) B: *p C: p D: x 10.下列选项中正确的语句组是(D)。
2018年安全员c证考试题库及答案一、单项选择题1. 根据《安全生产法》的规定,生产经营单位的主要负责人对本单位的安全生产工作负(C)责任。
A. 次要B. 部分C. 全面D. 有限2. 根据《安全生产法》的规定,生产经营单位必须为从业人员提供符合国家标准或者行业标准的(B)。
A. 劳动报酬B. 劳动防护用品C. 劳动保护措施D. 劳动安全设施3. 根据《安全生产法》的规定,生产经营单位的安全生产管理人员应当根据本单位的生产经营特点,对安全生产状况进行(A)检查。
A. 经常性B. 定期C. 随机D. 突击4. 根据《安全生产法》的规定,生产经营单位应当在有较大危险因素的生产经营场所和有关设施、设备上,设置明显的(D)。
A. 安全标志B. 警示标志C. 警告标志D. 安全警示标志5. 根据《安全生产法》的规定,生产经营单位应当建立健全生产安全事故(B),及时、如实报告生产安全事故。
A. 应急机制B. 应急救援制度C. 应急预案D. 应急措施二、多项选择题1. 根据《安全生产法》的规定,生产经营单位的主要负责人对本单位安全生产工作负有以下哪些职责?(ABCD)A. 建立、健全本单位安全生产责任制B. 组织制定本单位安全生产规章制度和操作规程C. 组织制定并实施本单位安全生产教育和培训计划D. 保证本单位安全生产投入的有效实施2. 根据《安全生产法》的规定,生产经营单位应当对从业人员进行安全生产教育和培训,保证从业人员具备以下哪些条件?(ABC)A. 掌握本职工作所需的安全生产知识B. 熟悉有关的安全生产规章制度和安全操作规程C. 掌握本岗位的安全操作技能D. 了解安全生产的法律责任3. 根据《安全生产法》的规定,生产经营单位应当在有较大危险因素的生产经营场所和有关设施、设备上,设置明显的安全警示标志,并(AB)。
A. 保持安全警示标志的完好无损B. 确保安全警示标志的清晰可见C. 定期更换安全警示标志D. 增加安全警示标志的数量三、判断题1. 根据《安全生产法》的规定,生产经营单位的主要负责人对本单位的安全生产工作负全面责任。
简答题
1、简述构造函数、析构函数和拷贝构造函数的特点和用途。
A、构造函数特点:函数名和类名相同;公有访问属性;无函数返回类型;对象被创建之后自动调用;可以重载;可在类内或类外定义
构造函数作用:初始化对象
B、析构函数特点:名字特别加~;没有参数;不能重载;对象生存期时,系统自动调用;
析构函数作用:在对象生存期结束之后自动执行清理工作
C、拷贝构造函数特点:与类同名;没有返回类型;只有一个为该类对象的引用作为参数;
作用:实现对象之间的初始化
2、const有什么作用?
可以实现同一个数据对象的不同场合不同途径的共享,同时防止错误操作对数据的更改。
3、简述this指针的特点
指向本类对象,其值时当前被调用的成员函数所在的对象的起始地址,编译系统自动实现。
4、简述静态成员和静态成员函数的特点用途(static)
静态数据成员特点:
每个类中只有一个拷贝,可以实现同一类不同对象之间实现数据共享(static int number);生存期同程序周期一样长;
初始化不加访问限定符且前面不加(static),例如int CStudent:: TotleNumber=120;
静态成员函数:(例如:static int set_totle_len(); )
属于类的静态成员,但都不是对象成员;公有静态成员函数可以通过类名或者对象名来调用,一半的非静态成员函数只能通过对象名来调用;静态成员函数可以直接访问该类的静态成员,不能直接访问非静态数据成员和非静态成员函数;若要,可通过对象来引用。
5、友元函数、友元类的特点和用途是什么?
友元(成员)函数特点:定义在类外部,但是需要在类体内进行说明;说明时在前面加上关键字friend
class A{public: ...friend (B::)double GetDistance(A start,A stop); .....};
友元(成员)函数作用:提高程序的运行效率,可以访问类中的保护和私有成员;
友元类特点:class A{...... friend class B; ......};
友元类作用:能够允许一个类中的所有成员函数都能够访问另一个类中的私有成员。
6、单一继承和多重继承的定义?
单一继承:一个类只从一个基类派生;多重继承:一个雷从多个基类派生。
简述经过公有继承和私有继承之后派生类中访问权限的变化。
公有继承之后public protected权限保持不变,private变为不可访问,私有继承之后public protected均变为private,private变为不可访问。
用派生类定义对象时构造函数的执行过程。
调用基类的构造函数,调用顺序按照他们被继承时声明的顺序(从左到右);
调用内嵌成员的构造函数,调用顺序按照他们在类中声明的顺序;
派生类的构造函数中的内容
运算符重载需要遵循哪些原则?
不改变运算符原有的含义
不改变运算符原有的优先级别,也不能改变运算符需要的操作数的数目
不能创建新的运算符,只能重载C++已有的
有些运算符不能重载
多态性的含义以及内容。
多态性是指当不同的对象收到相同的消息时产生不同的动作。
包括静态联编和动态联编。
静态联编是编译时的多态性,通过重载机制实现。
动态联编时运行时的多态性通过继承以及虚函数来实现。
虚函数、纯虚函数、抽象类
虚函数:围了实现某种功能而假设的函数称为虚函数,使用virtual声明。
作用是实现运行时的多态性。
!!!
欲达到动态联编的效果,派生类和基类中的对应成员函数不仅应该名字相同,而且返回类型,参数个数以及类型都应该相同;
基类中虚函数前面的virtual不能省略,派生类中的可以;
运行时的多态性必须通过基类对象的引用或者基类对象的指针调用虚函数才能够实现;
虚函数必须是类的成员函数,不能是友元函数以及静态成员函数;
不能将构造函数定义为虚函数,但是可以将析构函数定义成为虚函数。
纯虚函数:在声明时被初始化为0的虚函数。
作用是:在基类中为其派生类保留一个函数的名字,以便在派生类根据需要对他进行定义,可以实现运行时的多态性。
例如:virtual void display()=0; 其特点为:没有函数体。
如果在派生类中依然没有定义则依然保持为纯虚函数。
抽象类:如果在一个类中至少有一个纯虚函数则这个类被称为抽象类。
抽象类必须用作派生其他类的基类,不能直接创建对象实例,也不能用作函数参数类型。
这是因为其中的一个多个函数并未被定义。
何谓异常?简述C++中异常处理机制。
异常是指在程序运行过程中因为各种原因而产生的运行不正常的情况,他要求程序立即处理否则会引起程序错误乃至崩溃的现象。
常见的异常有空闲内存耗尽,请求打开不存在的文件等等。
C++中异常处理机制就是将抛出异常和捕捉异常、处理异常分离。
异常处理的三个关键字为try,throw,catch
如果出现未被捕捉的异常该怎么办?
调用terminate()终止本程序的运行。
使用对象传递异常的时候传递方式有哪些?
传值方式、引用方式、指针方式三种。
异常规范
函数返回类型函数名(参数列表) throw(类型列表) 1到多种类型类型的异常
函数返回类型函数名(参数列表) throw() 不抛出任何类型的异常
函数返回类型函数名(参数列表)有可能抛出任何类型的异常
使用函数模板时需要注意的问题
函数模板中的每一个类型参数载函数参数表中必须至少使用一次。
在全局域中生命的与模板参数同名的对象、函数或者类型载函数模板中将被隐藏。
函数模板中声明的对象或者类型不能与模板参数同名。
模板类型参数名可以用来指定函数模板的返回类型。
模板参数明在统一模板参数表中只能使用一次,但可以在多个函数模板声明或定义之间重复使用。
11、函数模板和模板函数的关系
(1)函数模板是个模板用来生成函数。
模板函数是一个函数,由函数模板生成。
(2)函数模板是由程序员用代码写出来的,模板函数时编译系统在编译时根据函数模板
自动生成的。
(3)函数模板是模板的定义,是一类函数的抽象,代表了一类具有相同功能的函数,不能够实际执行。
模板函数是函数模板的实例,代表具体函数,具有程序代码,占用内存空间,并可以实际执行。
12、类模板实例化特点
(1)只有在类模板实例真正使用时才进行实例化;
(2)实例化类模板时编译器需要知道类模板的定义;
(3)实例化类模板时,除了构造函数和析构之外不会自动实例化类模板的其他成员函数。
13、析构函数的调用顺序
先构造的对象后析构,后构造的对象先析构。
14、派生类生成步骤:继承基类成员重写基类成员定义新成员重写构造函数和析构函数
Class CtimeWorker: public Cemployee{ public: CtimeWorker(); ~CtimeWorker(); void daypay(); void pay(); };
15、派生类不能直接访问基类的私有数据成员,需要通过调用基类的保护或者公有函数间接引用。
16、虚基类机器派生类构造函数的执行顺序:虚基类构造函数非虚基类构造函数对象成员的构造函数派生类自己的构造函数
17、虚函数的声明与实例化——基类中{... virtual double area(){return 0}; ......} 派生类中{..... double area() {具体实现};};
18、将基类的析构函数定义成为虚析构函数则可将所有对象的内存空间全部都释放,否则只释放基类对象所占空间。
(virtual ~Cbox();)。