《C++期末复习.pdf》由会员分享,可在线阅读,更多相关《C++期末复习.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+基本概念 1.枚举类型不是 C+语言的基本数据类型 2.定义函数模板中使用的参数类型标识符需使用括起来。3.单目运算符作为类成员函数重载时,形参个数为 0 个。4.拷贝构造函数 point:point(point&p)可以访问 P 的私有和公有成员 +将数据从一个对象流向另一个对象的流动抽象为“流”,从流中获取数据的操作称为提取。6.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是自定义的头文件。7.包含循环语句的函数不能声明为内联函数 8.使用 delete 删除对象数组时,数组中各元素都调用析构函数+中使用 inline 关键字说明函数为内联函数。10.在用
2、C+进行程序设计时,最好用 new 代替 malloc。11.#elif 指令属于条件编译指令 12.预处理语句有三种,分别是宏定义、文件包含和条件编译。13.预处理命令以#号开头。14.重载的运算符保持其原有的操作数、优先级、结合性不变。15.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为内联函数+允许在结构中定义函数,这些函数称为成员函数 17.向量操作方法中 front 方法返回向量中的第一个对象。18.在编译指令中,宏定义使用#define 指令。19.结构性是面向对象的关键要素(错 )+派生类使用两种基本面向对象技术:第一种为性质约束,即对基类的性质加以限制;第二种为性质扩展
3、,即增加派生类的性质。21.控制格式输入输出的操作中,函数 setw(int)是设置域宽的,要求给出函数名和参数类型。22.若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的声明语句。23.在 C+中有两种参数传递方式即值传递和引用传递。24.在继承中,派生类拥有的基类个数至少 1 个 25.在 C+中要创建一个文件输入流对象 fin,同时该对象打开文件“”用于输入,则正确的声明语句是 ifstream fin(“”);。26.静态联编所支持的多态性称为编译时的多态性。27.编写 C+程序一般需经过的几个步骤依次是编辑、编译、连接、运行 28.面向对象的四个基本特性是多态性、继承性
4、、封装性、抽象。29.若一个派生类仅有唯一基类,则此继承关系称为单一继承。30.内联函数的特点是:能减少代码量,加快访问速度 31.派生类的对象可以访问公有继承的公有成员所继承的基类成员 32.类的私有成员可在本类的成员函数中被访问 33.一个类拥有多个构造函数,则这些构造函数间为重载关系 34.构造函数、析构函数和友元函数中,友元函数不是类成员。35.抽象类中至少要有一个纯虚函数。36.类的构造函数在定义对象时会被自动调用 37.析构函数不能指定返回类型 +中 ostream 的直接基类为 ios。39.编译时的多态性通过重载函数实现。40.类的静态成员函数在创建对象前是不存在的(错)41.
5、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的私有成员 42.如果类 A 被声明成类 B 的友元,则类 B 不一定是类 A 的友元 43.派生类的成员一般分为两部分,一部分是从基类继承的成员,另一部分是自己定义的新成员。44.定义虚函数所用的关键字是 virtual。的 back 方法返回向量中的最后一个对象。46.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是类 47.决定 C+语言中函数的返回值类型的是在定义该函数时所指定的数据类型 48.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的地址值。+语言中可以实
6、现输出一个换行符并刷新流功能的操控符是endl 50.对于类 Point 而言,其析构函数的定义原型为Point();。二、找出并修改程序中的一处错误 1.#include class Test private:int x,y=20;public:Test(int i,int j)x=i,y=j;int getx()return x;int gety()return y;void main()Test mt(10,20);cout()endl;cout()endl;2.#include void main()int i(3),j(8);int*const p=&i;cout*pendl;p=&
7、j;cout*pendl;3.#include class f private:float x,y;public:f(float a,float b)x=a;y=b;float max()return(xy)x:y;生成具有n个元素的动态数组。#include void main()int n;cinn;int an;a0=2;couta a0endl;5.#include main()int x=6;const int*p=x;cout*pendl;6.#include class T protected:int p;public:T(int m)p=m;void main()T a(10)
8、;coutendl;7.#include class test private:int x;public:test(int a)x=a;void set(int a)x=a;void get()coutxendl;main()const test a(3);(5);();8.#include class f private:int x,y;public:fl(int a,int b)x=a;y=b;void print()coutxyendl;main()f a;,;();9.#include class test private:int x;public:test(int a)x=a;voi
9、d set(int a)x=a;void get()coutxendl;main()const test a(3);(5);();10.#include class f private:int x,y;public:fl(int a,int b)x=a;y=b;void print()coutxyendl;main()f a;,;();完善程序 1.下面是一个输入半径,输出其面积和周长的C+程序。_ _ void main()double rad;coutrad;double l=*PI*rad;double s=PI*rad*rad;coutn The long is:lendl;coutT
10、he area is:sendl;2.下列程序可求出矩阵 a 主对角线上的元素之积。#define M 3 void main()int a M=1,2,3,4,5,6,7,8,9,10,s;s=;for(int i=0;iM;i+)s=;couts;3.在下划线处填上缺少的部分。#include class A int a,b;public:_;以下程序用于从键盘上输入若干个学生的成绩,统计出平均成绩,并输出低于平均成绩的学生成绩,输入负数结束。void main()float x100,sum=0,ave,a;int n=0,i;couta;ave=sum/n;cout“ave=“avee
11、ndl;for(i=0;_ _;i+)if(_)cout“x“i“”xiendl;5.程序实现大写字母转换成小写字母。#include void main()char a;_;cina;if(_)a=a+i;coutaendl;读程序,写结果 1.给出下面程序输出结果。#include void main()int*p1;int*p2=&p1;int b=20;p1=&b;cout*p2endl;2.#include#include#include bool fun(long n);void main()long a=10,b=30,l=0;if(a%2=0)a+;for(long m=a;m
12、=b;m+=2)if(fun(m)if(l+%10=0)cout endl;cout setw(5)m;bool fun(long n)int sqrtm=(int)sqrt(n);for(int i=2;i=sqrtm;i+)if(n%i=0)return false;return true;3.给出下面程序输出结果。#include class a public:a(int i=10)x=i;couta:xendl;int x;class b:public a public:b(int i):A(i)x=i;coutb:x,a:xendl;private:a A;int x;void main()b B(5);4.void fun(char*s)int i,j;for(i=j=0;si!=0;i+)if(si!=c)sj+=si;sj=0;return;void main(void)char str80=“hcance”;fun(str);coutstrendl;