《面向对象程序设计》综合复习题集参考解答
面向对象程序设计复习试题(答案)

语法扩充1.1选择题在C++中用(D)能够实现将参数值带回。
a)数组b)指针c)引用d)上述ABC都可考虑函数原型voidtest(inta,intb=7,char*ch="*"),下面的函数调用中,属于不合法调用的是:(C)A)test(5)B)test(5,8)C)test(6,"#")D)test(0,0,"*");已知:intm=10;下列表示引用的方法中,正确的是:(C)A)C)在A)对在A)C)A)C)A)intFunc(int,int,int);B)doubleFunc(int,int);C)doubleFunc(double,double);D)doubleFunc(int,double);下面的哪个保留字不能作为函数的返回类型(C)A)voidB)intC)newD)long一个函数功能不太复杂,但要求被频繁调用,选用(A)。
A.内联函数B.重载函数C.递归函数D.嵌套函数已知函数f的原型为:voidf(int&a,char*b);变量s,t的定义是:ints;chart[]="ABCD";把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是(C)Af(&s,&t);Bf(&s,t);Cf(s,t);Df(s,&t);若定义cin>>str;当输入MicrosoftVisualStudio6.0!所得结果是str=(B)。
A、MicrosoftVisualStudio6.0!B、MicrosoftC、MicrosoftVisualD、MicrosoftVisualStudio6.0.函数模板(C)。
A、代表某一具体函数B、与模板函数是同一个函数C、与某一个具体的数据类型连用D在ABCDAC1.21。
23int*&p=c;p=&b;4、假设有如下函数定义:voidFun(intx,inty=100);则语旬Fun(5)语句__Fun(5,100)_等价。
C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’; B、name=”lin”;C、name=new char[5]; D、cout<<name[3];< bdsfid="94" p=""></name[3];<>7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板()templateT max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin>>x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) {…… }(2) int f(int a,float b){…… }(3) int f(int i,int j){…… }(4) float k(int x){…… }是重载函数。
《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题1.下列(C)的调用方式是引用调用。
A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值2.假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的(B)。
A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数3.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a 的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。
A.x.aB.x.a()C.x->GetValue()D.x.GetValue()4.C++编译系统确定调用是具体对象的过程称为关联。
C++有(B)关联。
A.1种B.2种C.3种D.4种5.下面有关重载函数的说法中正确的是(C)。
A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同6.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C)。
A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)7.下列对继承关系的描述中,(D)是正确的。
A.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B.在公有继承中,基类中只有公有成员对派生类的对象是可见的;C.在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;8.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。
A.int *p=new int[30];B.int *p=new int(30);C.int *p=new [30];D.*p=new int[30];9.在一个类中可以对一个运算符进行(D)重载。
成人教育 《面向对象程序设计》期末考试复习题及参考答案

面向对象程序设计复习题二一、填空1.程序的三种常见结构是、、,其中结构是程序的默认结构。
2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称为。
3.和“继承”匹配的概念是。
4.由类构建对象的过程称为。
5.抽象类是含有的类。
6.实现软件复用有两种方式,分别为、、。
7.有定义const int *p,p称为。
8.通过继承产生的类称为。
9.virtual关键字在C++中有两个用处,分贝是,和。
10.方法重载和实现了多态性。
11.请给出C++外的另外一种支持面向对象设计语言。
12.类的三个要素是、、。
13.对象释放前执行的函数是。
二、名词解释1、构造函数2、对象3、运算符重载4、析构函数5. 面向对象6. 继承三、简答1.比较类和结构体?2.重载的意义?3.抽象类的作用和意义?4.组合与继承的区别?四、辩析1.任何父类对象都可以被子类对象替代。
2.public修饰符号破坏了数据的开放性。
3.private继承方式不能产生子类。
4.不能实例化的类一定是抽象类。
五、综合回答1.简述多态的实现机制。
2.谈谈多态的意义。
3.面向对象程序设计思想的优点和缺点。
面向对象程序设计复习题二答案一、填空(1)顺序(2)选择(3)循环(4)顺序(5)函数重载(6)抽象(7)实例化(8)纯虚函数(9)继承(10) 组合(9)和(10)不区分顺序(11)常量指针(12)派生类(13)虚函数(14)虚拟继承(13)和(14)不区分顺序(15)覆盖(16)Java或者C#(17)类的标识(18)类的状态(19)类的操作(17)(18)(19)不区分顺序(20)析构函数二、名词解释1、当类实例化时自动调用的成员函数,负责实现对象的初始化2、按照数据类型分配的内存空间,可以实现方法的调用3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型4、对象空间释放之前自动调用的函数5、是程序设计思想,相对面向过程而言更加强调封装性6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类三、简答1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是private,而结构体缺省为public2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。
面向对象程序设计复习题及参考答案

20.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的块来捕
获和处理异常。
21.多态是指。
22.声明常量时使用修饰符。
23.Java中异常抛出使用保留字。
24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名
来访问和调用。
25.如果类成员前面没有访问权限修饰符,则该类成员具有访问权限。
4.构造器方法有什么特点和作用?
5.保留字throw和throws有什么区别?
6.将下面的while循环改写为for循环
int count=1,sum= 0;
while ( cou nt <= 30 ) {
sum += count;
count +=3;
}
7.Java语言编译和执行的过程是?
8.检查型异常和非检查型异常有何区别?
9.请改造下面的构造方法,使第一个构造方法调用第二个构造方法。
public Class On e(i nt alpha) {
this.alpha = alpha;
this.beta = 0;
}
public Class On e(i nt alpha , int beta) {
this.alpha = alpha;
}
public int getCount(){
return count;
}
}
2.int gradeLevel;
switch (gradeLevel){
case1:System.out.print("Go to the101");
case2:System.out.print("Go to202");
面向对象程序设计知识题及答案解析

面向对象程序设计一、选择填空1.关于C++与C语言的关系描述中,(D)是错误的。
(A)C语言是C++的一个子集(B)C语言与C++是兼容的(C)C++对C语言进行了一些改进(D)C++和C语言都是面向对象的2.下面关于对象概念的描述中,(B)是错误的。
(A)对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3.下面关于类概念的描述中,(D)是错误的。
(A)类是抽象数据类型的实现(B)类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4.按照标识符的要求,(A)符号不能组成标识符。
(A)连接符(B)下划线(C)大小写字母(D)数字字符5.下列符号中,(C)不可作为分隔符。
(A), (B):(C)?(D);6.在16位机中,int型字宽为(A)字节。
(A)2 (B)4 (C)6 (D)87.类型修饰符unsigned修饰(D)类型是错误的。
(A)char (B)int (C)long int (D)float8.对于int *pa[5];的描述,(D)是正确的。
(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。
9.下列关于指针的运算中,(D)是非法的。
(A)两个指针在一定条件下,可以进行相等或不等的运算。
(B)可以有一个空指针赋值给某个指针。
(C)一个指针可以加上一个整数。
(D)两个指针在一定条件下,可以相加。
10.指针可以用来表示数组元素,下列表示中(A)是错误的。
已知:int a[3][7];(A)*(a+1)[5] (B)*(*a+3) (C)*(*(a+1)) (D)*(&a[0][0]+2) 11.下列表示引用的方法中,(A)是正确的。
面向对象程序设计期末复习题及答案

C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
15题,每小题2分,共30分) [主要从作业题目中抽出来]2. 填空题。
(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。
【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】。
(第1、2题每题8分,第3题9分,共25分) 重点复习内容打*号是重点,打▲号是编程题出题范围* 基本概念,对象,消息,类。
面向对象系统特性,封装性,继承性,多态性。
*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套。
静态成员,对象数组,友元。
*函数重载。
运算符重载。
*引用定义与引用参数* 基类与派生类的定义。
* 基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。
多继承与虚基类。
*多态性与虚函数。
纯虚函数、抽象类。
*▲函数模板。
*▲使用类来定义对象并在程序中的应用题型样题填空题 1. 假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为_________。
答案:102.可以用p.a的形式访问派生类对象P的基类成员a,其中a是_________。
答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。
答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5.函数重载是指_________。
答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同6.在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。
答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include<iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout<<“x=y”<<endl;elsecout<<“x!=y”<<endl;}void disp(){cout<<“x=”<<x<<“,y”=<<y<<endl;}};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=yx=y2.分析以下程序的执行结果#include<iostream.h>int add(int x,int y){return x+y;}int add(int x,int y,int z){return x+y+z;}void main(){int a=4,b=6,c=10;cout<<add(a,b)<<,<<add(a,b,c)<<endl; }解:10,20 3.分析以下程序执行结果#include<iostream.h>int add(int x,int y){return x+y;}double add(double x,double y){return x+y;}void main(){int a=4,b=6;double c=2.6,d=7.4;cout<<add(a,b)<<","<<add(c,d)<<endl; }解:10,104.分析以下程序执行的结果#include<iostream.h>class Sample{int x,y;public:Sample(){x=y=0;}Sample(int a,int b){x=a;y=b;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;}};void main(){Sample s1,s2(1,2),s3(10,20);Sample *pa[3]={&s1,&s2,&s3};for(int i=0;i<3;i++)pa[i]->disp();}解:x=0,y=0x=1,y=2x=10,y=20 5. 分析以下程序的执行结果:#include<iostream.h>class base{int n;public:base(){};base (int a){cout << "constructing base class" << endl; n=a;cout << "n= "<< n << endl;}~base() { cout << "destructing base class" << endl; }};class subs : public base{int m;public:subs(int a, int b) : base(a){cout << "constructing sub class "<< endl; m=b;cout << "m= "<< m << endl;}~subs() { cout << "destructing sub class "<< endl; }};void main (){subs s(1,2);}解:constructing base classn= 1constructing sub classm= 2destructing sub classdestructing base class6.分析以下程序的执行结果:#include <iostream.h>class Sample{protected:int x;public:Sample() { x=0; }Sample(int val) { x=val; }void operator++() { x++; }};class Derived:public Sample{int y;public:Derived():Sample(){ y=0; }Derived(int val1,int val2):Sample(val1){ y=val2; }void operator--(){ x--;y--;}void disp(){cout<<"x="<< x << ",y=" << y << endl; }};void main (){Derived d(3,5);d.disp();d++;d.disp ();d--;d--;d.disp();}解:x=3,y=5x=4,y=5x=2,y=37 分析以下程序执行结果:#include <iostream.h>class A{public:A(char *s) { cout << s << endl; }~A() {}};class B:public A {public:B(char *sl,char *s2) :A(sl){cout << s2 << endl;}};class C:public A{public:C(char *sl,char *s2) :A(sl){cout << s2 << endl;}};class D:public B,public C{public:D(char *sl,char *s2,char *s3,char *s4) :B(sl,s2),C(sl,s3){cout << s4 << endl;}};void main (){D d("class A","class B","class C","class D");}解:class Aclass Bclass Aclass Cclass D 补充例题1.分析以下程序的执行结果#include<iostream.h>template <class T>T max(T x,T y){ return (x>y?x:y); }void main(){ cout<<max(2,5)<<“,”<<max(3.5,2.8)<<endl; }解答:5,3.5 2.分析以下程序的执行结果#include<iostream.h>void main(){int a[]={10,20,30,40},*pa=a;int *&pb=pa;pb++;cout<<*pa<<endl;}解答:输出为:20 3.分析以下程序的执行结果#include<iostream.h>template <class T>T abs(T x){ return (x>0?x:-x); }void main(){ cout<<abs(-3)<<“,”<<abs(-2.6)<<endl; }解答:输出为:3,2.64.分析以下程序的执行结果#include<iostream.h>class Sample{char c1,c2;public:Sample(char a){c2=(c1=a)-32;}void disp(){ cout<<c1<<“转换为”<<c2<<endl; } };void main(){Sample a('a'),b('b');a.disp();b.disp();}解答:a转换为Ab转换为B 5.分析以下程序的执行结果#include<iostream.h>void main(){int a;int &b=a; // 变量引用b=10;cout<<“a=”<<a<<endl;} 解答:输出为:a=10 6.分析以下程序的执行结果#include<iostream.h>class Sample{int x;public:Sample(){};Sample(int a){x=a;}Sample(Sample &a){x=a.x++ +10;}void disp(){cout<<“x=”<<x<<endl; }};void main(){ Sample s1(2),s2(s1);s1.disp();s2.disp();}解答:x=3 // ++运算的结果x=12 // 2+107.分析以下程序的执行结果#include<iostream.h>class Sample{int x;public:Sample(){};Sample(int a){x=a;}Sample(Sample &a){x=a.x+1;}void disp(){cout<<“x=”<<x<<endl; } };void main(){ Sample s1(2),s2(s1);s2.disp();}解答:输出为:x=3。
《面向对象程序设计》编程题复习及其答案.doc

《面向对象程序设计》复习题1、(C++的输入输出)天猫优惠券,我就要券定义一个函数max,实现输入两个数a、b,比较并从小到大输出。
2、(函数的重载)(1)定义一个带两个参数的函数max,输出最大值。
(2)再定义一个带三个参数的函数max,输出最大值。
(3)主函数测试之。
3、(有默认参数的函数)将题2用带默认参数的函数实现。
4、(变量的引用)(1)定义一个swap1函数,以普通形参传入两个变量a、b,互换a、b的值。
(2)定义一个swap2函数,以指针形参传入两个变量a、b,互换a、b的值。
(3)定义一个swap3函数,以引用形参输入两个变量a、b,互换a、b的值。
(4)主函数定义两个变量x、y传入三个函数,观察x、y值前后的变化。
5、(类的定义)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1) set函数,键盘输入学号,姓名,年龄,性别(2) display函数,输出学生信息。
6、(构造函数和析构函数)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)构造函数,初始化学号,姓名,年龄,性别(2)display函数,输出学生信息。
(3)析构函数,输出学生学号。
(4)主函数定义多个对象,并注意构造函数和析构函数的调用顺序。
7、(构造函数的重载)在题6基础上增加一个默认构造函数,实现构造函数的重载8、将题6用带默认参数的构造函数实现。
9、(对象数组和对象的动态建立及释放)在题8基础上,实现如下主函数:(1)在主函数中定义一个包含三个学生的数组,并初始化之。
(2)在主函数中定义一个student类指针p并用new运算符分配动态内存(3)用delete删除p指向的动态内存。
(4)观察构造函数和析构函数的调用。
10、(复制构造函数)在题8基础上新增加一个复制构造函数,并主函数新增复制构造对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》综合复习题集参考解答一、单选题1. A2. C3. B4. B5. B6. C7. A8. D9. B 10. D 11. D 12. C 13. D 14. D 15. C 16. A17. B 18. A 19. C 20. B 21. B 22. C 23. C 24. B25. D 26. C 27. A 28. A 29. C 30. B 31. D 32. C33. D 34. C 35. C 36. A 37. B 38. B 39. C 40. A41. C 42. C 43. A 44. B 45. B 46. A 47. B 48. B49. C 50. B 51. D 52. B 53. A 54. D 55. C 56. D57. C 58. B 59. C 60. D 61. D 62. B 63. A 64. C65. A 66. C 67. C 68. B 69. B 70. C 71. A 72. D 73. B 74. D 75. A 76. C 77. D 78. D 79. C 80. C81. D 82. A 83. B 84. D 85. A 86. A 87. B 88. C89. D 90. C 91. A 92. D 93. D 94. B 95. D 96. C97. A 98. B. 99. C 100. D 101. A 102. B 103. B 104. C 105. D 106. B 107. A 108. D 109. B 110. C 111. D 112. A 113. A 114. B 115. D 116. B 117. A 118. C 119. A 120. B 121. D 122. C 123. A 124. C 125. B 126. A 127. C 128. C 129. D 130. B 131. D 132. C 133. A 134. B 135. A 136. C 137. C 138. B 139. A 140. C 141. B 142. A 143. D 144. D 145. B 146. A 147. C 148. D 149. B 150. C 151. D 152. C 153. D 154. B 155. A 156. C 157. D 158. C 159. D 160. A 161. A 162. B 163. D 164. B 165. C 166. B 167. C 168. C 169. D 170. A 171. C 172. D 173. B 174. A 175. D 176. D 177. C 178. A 179. D 180. B 181. B 182. C 183. A 184. C 185. C 186. D 187. C 188. B 189. A 190. C 191. D 192. A 193. A 194. D 195. B 196. C 197. B 198. C 199. B 200. D 201. C 202. B 203. A 204. C 205. B 206. D 207. D 208. A三、填空题1. C2. .cpp、程序3. //4. /* 、*/5. cout6. cin7. main 8. 复合9. 空白10. #include 11. #12. 分号13. 用户(或编程者)14. 程序15. 函数头、函数体16. 原型(或声明)17. .h、.cpp 18. 警告(warning)、致命(error)19. void 20. void21. int 0 22. 下一行23. 35 24. 2525. 6、30 26. 4、11 27. 325 28. 22929. 0xF5 (F大小写均可) 30. 036531. -128 、+127 32. 4 4、33. 4、8 34. 1、 1 35.2、 4 36. 1537. 15 38. 739. 6 40. 1、 341. 3、 3.2 42. x 43 . true(或1) 44. false(或0)45. x 46. !x47. false(或0) 48. true(或1)49. (x+y)/(2*x*y) 50. 3*x*y/(x+y) 51. 1/(a*x*x+b*y*y ) 52. 153. 3、54. 4、 255. 枚举常量、整数56. int、double57. 6、60 58. 4、 1 59.20 60. 9 21661. 0、19 62. 常量63. if 64. switch65. 不停止66. 11 67. 1068. break69. continue 70. return 71. 主(或main) 72. 4073. 192 74. 300 7 5. 1、 2 76. 0、 177. 8 78. 1179. n+1 80. cin>>a81. cout<<a 82. 10、19 83. ”456”84. 5、185. 9、7 86. 8、0 87.函数体88. 类型89. static 90. extern double x;91. template 92. 虚拟类型(或类型)93. 递归94. template<class T> T cubin(T n){return n *n*n ; }95. void 96. static 97. 右边(或后面)98. extern99. 头文件100. 函数体101. 文件包含命令102. 文件103. 代码区(程序区)104. 全局数据105. 栈106. i*m+j+1107. 2、 4 108. 13 109 . 总和110. 4111. 地址DataType* 112. (char*)p 113. int** 114. *p p115. *p、p 116. *p、*p 117. 25118. 42119. 26 120. 42 1 21. 4*i 122. *(a+i)123. a+i*sizeof(a[i]) 124. 第一个、修改125. b[7]、b[2] 126. int *p=x ;127. *p128. int[n]、int *129. c[3][0]、c[3][2] 130. int(*)[6]131. *(a[i]+j) 或*(*(a+i)+j)或*(a+i)[j] 132. int y=x;133. x 134. 相等、x 135. *p 136. p[0]、*P 137. ’a’138. char(*)[n] 139. delete p 140. delete []p141. 0 (或’\0’)142. double *pv=v; 143. H 144. ple145. pc=(char *)pv; 146. in t (*p)[100]=b;147. (*p).name 148. fp->score 149. int ra=a;150. 6151. 10 152. 17 153 . 对象154. 实例155. 封装156. 继承157. 聚合158. 抽象、封装体159. 继承160. 多继承(或多重继承)161. 单继承162. 编译、运行163. 重载、虚函数164. 设计、实现165. 问题域、应用166. 函数167. private(或私有)168. public(或公有)169. private(或私有) 170. public(或公有)171. private 172. 内联173. 类名174. 冒号175. inline 176. 作用域177. AA* AA::abc() 178. 不在179. const 180. const 181. *th is 182. this183. 类定义184. 不能够185. 队列长度186. 队首187. (first+length)MS 188. (first+ 1)MS189. length==0 190. length==MS 191. 删除192. 插入193. 队首194. 队尾195. ElemHead->next 196. Ele mTail197. NULL 198. 相同199. 相同200. 2 201. 构造202. 析构203. 构造函数204. AB() {} 205. ~AB() {} 20 6. 无参构造函数207. 动态存储空间208. 析构函数209. 10 210. N 21 1. 初始化表212. 初始化表213. 初始化表214. 函数体215. const int aa; 216. int aa;217. AB(int aa):a(aa){}; 218. AB(int aa):a(aa){};219. 析构函数220. 不会221. 2 222. a223. 2 224. 1 2 25. 2 226. 1227. 3 228. 错误229. 正确230. 错误231. 拷贝构造函数232. AB(AB)(注:可附带任何一个名字的参数)233. delete []pa; 234. 只能、不能235. 初始化236. 类域237. 优先级238. 0、1 239. 1、2 240. 赋值241. 2 242. 成员函数243. ostream 244. istream245. 2 246. 成员247. 返回值、空248. 继承(派生)249. 公有和保护、私有250. 公有和保护、任何251. private、私有252. 类名253. 虚基类254. 二义性255. this四、程序填充1. (1) f1+f2 (2) i%5==0 (3) f2. (1) x (2) i (3) -j3. (1) n<=99 (2) i<=temp (3) break4. (1) b<=0 (2) a=b (3) b=r5. (1) x<3 (或x<=2) (2) x%i==0 (3) i++6. (1) b%i==0 (2) i++ (或++i) (3) b>=i7. (1) i<=5 (2) j>=5+I (3) cout<<’*’8. (1) str[i]>=’A ’&& str[i]<=’Z’(2) num++ (3) return num9. (1) void fun(char ss[]) (2) fun(s) (3) i<n/210. (1) a[i] (或a[i]!=’\0’) (2) a[i]!=c (3) '\0'11. (1) cin>>*p (2) p++ (或++p) (3) q-- (或--q)12. (1) x/2 (2) x!=0 (3) cout<<a[k]13. (1) int n (2) k=j (3) a[k]=x14. (1) int a[] (或int* a)(2) a[j+1]=a[j] (3) break15. (1) (low+high)/2 (2) return mid (3) low=mid+116. (1) i<size (2) table[j+1]=table[j] (3) p17. (1) i<n (2) new NODE (3) table[i]18. (1) i<n (2) table[i] (3) L=p19. (1) NODE* p=L (2) p=p->next (3) p->data20. (1) q->next (2) p (3) return p21. (1) int& ARRAY:: (2) n>=s (3) v[n] (或*(v+n))22. (1) ARRAY:: (2) new int[n] (3) v[i]=a[i]23. (1) int& ARRAY:: (2) n<1 || n>s (3) v[n-1] (或*(v+n-1))24. (1) AA::MaxA() (2) x=a[i] (3) return x25. (1) i<n-1 (或i<=n-2) (b) {x=a[j]; k=j;} (c) a[i]=x26. (1) AA::InsertA() (2) a[j+1]=a[j] (3) break27. (1) x.SetA(a,6) (2) x.MaxA() (3) x.PrintA()28. (1) AA x (2) m=x.MaxA() (3) x.SortA()29. (1) top==ARRAY_SIZE-1 (2) top++(或++top) (3) newElem30. (1) int Stack::Pop() (2) elem[top--] (3) Pop()31. 答案:(1) A(int aa):a(aa)(2) A *p(3) p=new A(5)32. 答案:(1) A() {a=0;} 或A():a(0){} 注:数据0可用NULL代替(2) new char[strlen(aa)+1](3) ~A() {delete []a;}33. 答案:(1) :a(aa),b(bb)(2) A x(5),y(x) 注:x(5)与x=5等效,y(x) 与y=x等效(3) A *p=&x34. 答案:(1) A(int aa=0, int bb=0){a=aa; b=bb;}(2) p1=new A(3) p2= new A(4,5)35. 答案:(1) a=new int[MaxLen](b) {return a[i];}(c) s+=r.GetValue(i)36. 答案:(1) for(int i=0; i<n; i++) a[i]=aa[i](2) A::~A() {delete []a;}(3) for(i=0; i<10; i++) s+=r.GetValue(i)37. (1) return gd_name (2) static int (3) return totalweight38. (1) friend Point operator+(Point& pt,int dd)(2) friend Point operator+(Point& pt1,Point& pt2)(3) temp.y+=pt2.y39. (1) public Base1, public Base2(2) Base1::x=x1(3) Base2::x=x240. (1) Base::output() (2) Base(m1,m2) (3) mem3=m341. (1) Dx()*Dx()+Dy()*Dy()(2) {pt1=pts;pt2=pte;} (或 :pt1(pts),pt2(pte){})(3) Length()42. (1) virtual public vehicle(2) virtual public vehicle(3) public bicycle, public motorcar五、读程序写出运行结果1. max:85min:182. 1 2 3 5 8 13 21 3455 893. s=604. 121a,b,c=7,12,305. 11 14 switch end.6. 36 139 -5 1 73 8 8 677. 114 138 558. 1 1 12 2 33 6 94 24 339. 10 6 410. ***************11. 1 5 7 11 13 3712. ++*+*****13. 1 2 122 2 303 2 6614. s=6315. 26416. 10 1 -6 4 0 -3 6 -6 -917. 10 2515 3510 2518. x=13, y=21x=5, y=8, z=3419. x,y=10, 26x,y=26, 10x,y=10, 26x,y=25, 1120. 29 28 5721. 55 5022. 4 3 1423. 2 1 5 224. worker cadre25. 5 8 11 1426. +-*/ abcd 123427. year:4month:5day:328. abcdef 30shenyafen 9529. abcdef 30abcdefxyz 5030. 122031. 42732. a: 7/12b: -3/8c: 5/24d: 19/2433. a: 6/15b: 3/10c: 7/10d: 11/1034. xuxiaokaiweirongDestructor!Destructor!35. 15 836. 1 2 3 40 0 0XxkXxkXxk37. 5 69 2038. d=800f=4039. 14 6 40 2.5@非法运算符!40. Point:3 4Circle radius:5Circle destructor!Point destructor!41. Point:3 4Text con!Point with Text con!Point with Text desText des!Point des!42. 2000/1/10:0:02002/10/123:59:592002/12/310:0:043. 2001/1/15:30:02002/10/16:20:02003/3/86:7:044. Base(1,2)Next(10,15)Base(5,7)45. 10,20,30,4015,26,30,4015,26,210,28046. B_obj x=100D_obj y=200B_obj x=300D_obj y=400六、指出以下程序或函数的功能1. 计算并输出22+42+62+ +302的值。