




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大学计算机应用基础(面向对象部分)复习题一、选择题4关于成员函数,以下叙述中不正确的是_a_ A. 成员函数一定是内联函数B. 成员函数可以重载 C. 成员函数的参数可以设置默认值D. 成员函数可以是另一个类的友元函数 5下列关于析构函数说法正确的是_d_。A. 析构函数可以有参数。B. 析构函数可以重载。C. 析构函数一定被继承。D. 析构函数无返回值。6下列对友元的描述中,正确的是_d_。A. 友元可以在类外声明和定义B. 友元降低了程序的运行效率C. 友元不能访问类中的保护成员D. 友元破坏了类的封装性7下面对静态成员的描述中,错误的是_c_。A. 静态成员的提出是为了解决数据共享问题B
2、. 静态数据成员的初始化在类体外进行C. 类的不同对象有不同的静态数据成员值D. 静态成员函数可以直接访问类中的静态数据成员8下列对常量的定义中,错误的是_c_。A. int const size=10;B. char * const p="Good Luck"C. void const print();D. const MyClass obj(10,10);9若有如下函数声明:void Fun(int x);,则下列_d_能与该函数进行重载。A. void Fun(int y);B. void Fun(int x,int y='1');C. int Fun
3、(int x);D. void Fun(int) const;10为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择_a_。A. 内联函数B. 重载函数C. 递归函数D. 函数模板?11派生类的对象对它的基类成员中什么是可访问的(a)。A. 公有继承的公有成员B. 公有继承的私有成员C. 公有继承的保护成员D. 私有继承的公有成员12、_d_不是构造函数的特征。 A. 构造函数的函数名与本类类名相同 B. 构造函数可以重载 C. 构造函数可以设置缺省形参值 D. 构造函数必须指明返回类型13、下列函数中,_a_不是类的成员函数。 A. 友元函数 B. 拷贝构造函数 C. 析构函
4、数 D. 构造函数14、若有如下函数声明:void Fun(int x);,则下列_d_能与该函数进行重载。A. void Fun(int y);B. void Fun(int x,int y='1');C. int Fun(int x);D. void Fun(int) const;?15、若派生类的继承方式为私有,则派生类自有的成员函数不能对基类的_b_直接访问。A. 公有成员B、私有成员C、保护成员D、全部成员;16、下列对常量的定义中,错误的是_c_。A. int const size=10;B. char * const p="Good Luck"
5、C. void const print();D. const MyClass obj(10,10);17、设置虚基类的目的是_c_。A. 简化程序B. 消除二义性C. 实现多态D. 减少目标代码18、已知类A,并static int a 为其公有成员,下面初始化方法正确的是_d_。A. int a=0;B. a=0;C. A():a(0); D. int A:a=0; ?19、下列运算符中,不能重载的运算符是_a_。A. : B. C. && . >>20、在建立派生类对象时,构造函数的执行方式为: cA. 先执行派生类构造函数后执
6、行基类构造函数B. 只执行派生类构造函数C. 先执行基类构造函数后执行派生类构造函数D. 仅执行基类构造函数21、为了提高程序的运行速度,可将不太复杂的功能用_a_函数实现。A. 内联函数B. 重载函数C. 递归函数D. 函数模板22、派生类中,重新定义基类的虚函数时,虚函数的_d_必须保持一致。A. 参数个数B. 参数类型C. 返回值D. 参数个数、参数类型和返回值23. 当派生类中有和基类一样名字的成员时,一般来说 _b_。 A. 将产生二义性
7、60; B. 派生类的同名成员将覆盖基类的成员C. 是不能允许的 D. 基类的同名成员将覆盖派生类的成员24. 如果是类B在类A的基础上构造,那么称_b_。 A. 类A为基类或派生类,类B为子类或父类 B. 类A为基类、父类,类B为派生类或子类C. 类A为派生类,类B为基类 D. 类A为派生类
8、或子类,类B为基类、父类?25. 多继承派生类构造函数构造对象时,_b_最先被调用。A. 虚函数的构造函数 B. 派生类自己的构造函数C. 非虚基类的构造函数 D. 派生类中子对象类的构造函数二、 程序填空1、把一串字符中的小写字母转换为对应的大写字母。#include <stdio.h>char fun(char c) if(c>='a'&&c<='z') _c=c+A-a_; return c;main() char c; c=getchar();while(c!='n')c=_fun(c)_;putc
9、har(c);c=_getchar()_;2、友元应用#include "iostream.h"class studentpublic:int No;char *Name;_student(int n,char* str)_;student();_friend_ void f_age(int ag, student &p);private:int age;student:student(int n,char *str)No=n;Name=str;age=18;student:student ()cout<<"学号"<<No
10、<<endl;cout<<"姓名"<<Name<<endl;cout<<"年龄"<<age<<endl;void f_age(int ag, student &p)p.age =ag;cout<<"友元年龄"<<p.age <<endl;void main()student wang(5074401,"wang");f_age(30,wang);3、输出一个点#include "
11、iostream.h"class pointpublic:point(int x,int y); point() cout<<X<<","<<Y<<endl; private: int X; int Y;point:point(int x,int y) _X=x_; _Y=y_;void main() point p1(10,10); 4、求出圆的面积:#include <iostream.h>class Point public: Point(double m,double n ); virtual v
12、oid Area();private: double x,y;Point:Point(double m,double n ) _x=m;y=n;_void Point: Area() cout<<"The area is 0"<<endl;class Circle :public Pointpublic: _Circle(double m,double n,double i)_; void Area();private: double r;Circle :Circle (double m,double n, double i): x(m),y(n)_
13、 r=i;void Circle : Area() double a=_2*pi*r*r_; cout<<"The area of the circle is:"<<a<<endl;void main() Point *pt; Circle c(1,2,3); _; pt-> Area ();5、下列程序执行后的输出结果是B0 D00 B1 D23 D B D B,请将下列程序补充完整。class Base public:Base(int i=0) x = i; cout<<'B'<<x<
14、;<' 'Base() cout<<"B"<<x<<' ' private:int x;class Derived : public Base int y, z;public: _ / Constructor _ / Destructor;void main() Derived obj1;Derived obj2(1,2,3);5、函数重载#include <iostream.h>int f_add(_int i ,int j_) return i+j; double f_add(_dou
15、ble i, double j_) return i+j; int f_add(int i,int j,int k) return i+f_add(_j,k_); void main()int a=1,b=2,c=3;double x=3.5,y=4.5;int e,f;double z;e=f_add(a,b); f=f_add(a,b,c);z=f_add(x,y); cout<<a<<"+"<<b<<"="<<e<<endl;cout<<a<<"
16、;+"<<b<<"+"<<c<<"="<<f<<endl;cout<<x<<"+"<<y<<"="<<z<<endl;三、写出下列程序的运行结果1阅读程序,输入如下数据:10052,写出运行结果。#include "stdio.h"main()long m,p,q,t;p=q=0;scanf("%ld",&m);do
17、t=m%10;if(t=0) p+;elseif(q<=t) q=t;m/=10;while(m);printf("Count=%ld,Max=%ldn",p,q);Count=2,Max=52、阅读程序,写出运行结果#include "iostream.h"class testprivate:int num;float fl;public:test( );int getint( )return num;float getfloat( )return fl;test( );test:test( )cout << "Inital
18、izing default" << endl;num=1;fl=1.2;test:test( )cout<<"Desdtructor is active"<<endl;void main( )test array2;cout << array1.getint( )<< " " << array1.getfloat( ) <<endl;Initalizing defaultInitalizing default 1 1.2Desdtructor is active
19、Desdtructor is active3、阅读程序,写出运行结果。#include <iostream.h>class Apublic:A()cout<<"调用的无参构造函数"<<endl;A(int x) a1=x;cout<<"调用的有参构造函数"<<endl;A(A &p) a1=p.a1;cout<<"调用的复制构造函数"<<endl;void add(A q)A temp;temp.a1=a1+q.a1;cout<<&
20、quot;结果为: "<<temp.a1 <<endl;private:int a1;main()A A1(1),A2(2);A1.add (A2);调用的有参构造函数调用的有参构造函数调用的复制构造函数调用的无参构造函数 结果为:34、分析下列程序的运行结果#include <iostream.h>class add public:virtual void sm()=0; virtual void disp() ;class add1:public add private:int m1,n1;public:add1(int a,int b):m1
21、(a),n1(b)void sm() m1+=-n1; n1-; void disp() cout<<"m1="<<m1<<" "<<"n1="<<n1<<endl; ;void main() add1 a(4,6);add *p=&a;p->sm(); p->disp();m1=9 n1=45、阅读程序,写出运行结果#include <iostream.h> class A public: A(int i) a=i; cout&l
22、t;<"Constructor A. "<<endl; A() cout<<"Destructor A. "<<endl; void Print() cout<<a<<endl; private: int a; ; class B:public A public: B(int i,int j):A(i) b=j; cout<<"Constructor B. "<<endl; B() cout<<"Destructor B.
23、"<<endl; void Print() A:Print(); cout<<b<<endl; private: int b;class C:public Bpublic:C(int i,int j,int k):B(i,j),c(k) cout<<"Constructor C. "<<endl; C() cout<<"Destructor C. "<<endl; void Print() A:Print(); B:Print();cout<<c&l
24、t;<endl; private: int c;void main() C c1(1,2,3); c1.Print();Constructor A.Constructor B.Constructor C.1123Destructor C.Destructor B.Destructor A.?6、分析下列程序,写出运行结果#include <iostream.h>class Test public:Test (double m,double n,double d):p(d) x=m; y=n; void Show();void Show() const;private:doub
25、le x, y;const double p;void Test:Show() cout<<x<<","<<y<<endl;cout<<"p="<<p<<endl;void Test:Show() const cout<<x<<","<<y<<" const"<<endl;cout<<"p="<<p<<" c
26、onst"<<endl;void main() Test a(8.9,2.5,3.1416);a.Show();const Test b(2.5,8.9,3.14);b.Show();7、分析下列程序,写出运行结果#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; else cout<<"
27、;x!=y"<<endl; void disp() cout<<"x="<<x<<",y="<<y<<endl; ; void main() Sample s1,s2(2,3); s1.disp(); s2.disp(); 8、分析下列程序,写出运行结果#include <iostream.h>class Point public:Point(double m,double n ); virtual void Area();private: double x,y
28、;Point:Point(double m,double n ) x=m; y=n;void Point: Area() cout<<”The area is 0”<<endl;class Circle :public Pointpublic:Circle (double m,double n, double i); /声明构造函数 void Area();private:double r;Circle :Circle (double m,double n, double i): Point(m,n) r=i;void Circle : Area()double a=3
29、.14*r*r;cout<<”The area of the circle is:”<<a<<endl;void main() Point *pt;Circle c(4,5,6); pt=&c; pt-> Area (); 四、编写程序1、已知数列: 编一程序,求其前十项的和。(画出NS流程图)2、编写一函数计算n!,调用该函数计算sinx的近似值,要求误差小于,其中:3、定义一复数类,利用运算符重载完成复数相加。主函数及运行结果如下:(注意:实部为real;虚部为imag,为私有数据成员)#include <iostream.h>
30、class Complex;void main()Complex c1(1,2),c2(3,4),c3;c3=c1+c2;c3.put();4、编写一函数把字串中与某字符相同的字符删除,主函数如下:#include <iostream.h>#include <stdio.h>main()char *str=new char;char c;gets(str); cin>>c;fun(str,c);puts(str);5、已知三角形的三遍,在该三角形的基础上拉伸出高为H的三棱柱,编写三棱柱派生类,求三棱柱的体积。三角形类描述如下:class Trianglepublic:Triangle(float x,float y,float z) a=x;b=y;c=z;void Area() float t;t=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宝鸡方塘高级中学教师招聘(34人)模拟试卷及答案详解(名校卷)
- 2025湖南张家界市市场监督管理局招聘公益性岗位人员1人模拟试卷参考答案详解
- 2025辽宁沈阳市政府国资委市属国有企业外部董事人才库拟入库人员模拟试卷完整参考答案详解
- 2025黑龙江哈尔滨“丁香人才周”(春季)事业单位引才招聘考前自测高频考点模拟试题及参考答案详解一套
- 2025年临沂职业学院公开招聘教师和教辅人员(24名)考前自测高频考点模拟试题及答案详解(全优)
- 2025年临沂郯城县技工学校公开招聘教师(26人)考前自测高频考点模拟试题及一套完整答案详解
- 2025广东广州市越秀区建设街招聘辅助人员1人考前自测高频考点模拟试题及1套完整答案详解
- 2025江苏苏州市相城区教育系统招聘事业编制教师66人考前自测高频考点模拟试题(含答案详解)
- 2025湖南怀化新晃县公益性岗位人员招聘9人模拟试卷带答案详解
- 2025江苏师范大学招聘工作人员78人(第一批)考前自测高频考点模拟试题及答案详解(易错题)
- 安徽省农村信用社联合社2026年校园招聘备考考试题库附答案解析
- 化工安全三级培训考试题及答案解析
- 2025加工定做合同范本
- 2025湖北宜昌市不动产交易和登记中心招聘编外聘用人员17人考试参考试题及答案解析
- 教PEP版六年级英语上册第一次月考试卷(Unit 1-2).(含答案含听力原文)
- 铁路局安全理论培训课件
- 物流配送调度管理系统设计方案
- 35kV线路工程电杆安装施工方案
- 2025年乡镇工会集体协商指导员招聘考试试题库及答案
- 2025-2026学年苏教版(2024)小学科学二年级上册教学计划及进度表
- 2025年度环评文件技术复核服务方案投标文件(技术方案)
评论
0/150
提交评论