面向对象程序设计复习题
更新时间:2024-01-06 18:47:01 阅读量: 教育文库 文档下载
面向对象程序设计复习题
概念填空题
1.运算符 能够用来访问与局部变量同名的全局变量。 2.运算符 动态分配一个对象。
3.类的 成员只能被该类的成员函数或友元函数访问。 4.类成员的默认访问模式是 的。
5.类的 数据成员是该类的所有对象共享的信息。 6.关键字 指定了不可修改的对象或变量。
7.要在类的对象上使用运算符,除了运算符 和 外,其它的必须都要被重载。
8.重载不能改变原运算符的 、 、 和对内部类型对象的原有含义。
9. 类的对象可作为 类的对象处理。
10.友元函数中可以直接访问类的 和 成员。 1l.公有成员函数的集合常称为类的 函数。私有成员函数的集合常称为类的 函数。
12.为了访问某个类的私有数据成员,必须在该类中声明该类的 。 13. 提供了一种描述通用类的方法。
14.运算new分配的内存要用运算符 回收。 15.参数 表示重载后缀 ++ 运算符函数。
16.当用受保护的继承从基类派生一个类时,基类的公有成员成为派生类的 的成员,基类的受保护成员成为派生类的 成员。
17.在C++中,关键字 、 和 用来建立新的数据类型。
18. 限定符用来声明只读变量。
19.函数 能够定义一个在不同数据类型基础上完成同一任务的函数。 20.指向基类对象的指针可以指向其 派生类的对象,但是不允许指向其 派生类的对象。 答案:
1:: 2 new 3私有和保护 4私有 5静态
6const 7=& 8 优先级 结合性 操作数个数 9派生类 基类 10 私有 受保护 11 接口 工具 12 友元 13 类模板
14 delete 15 int 16受保护 受保护 17class struct union 18 const 19模板 20公有 私有和保护 阅读程序写结果
1. #include
void main() {
int a(6),b(8),c; c=(a>b?++a:b-=2);
cout<
cout<
word文档 可自由复制编辑
}
输出结果:
答案:输出结果: 6,6,6 6,6,0
2. #include
void main() {
int i,j;
for(i=11; i<=20 ; i+=2) {
for(j=2;j
cout<
cout< 输出结果: 答案:12 14 15 16 3.#include int a[]={1,2,3,4,5}; for(int i=0;i<5;i++) cout< int f(int p) { static int s=1; s*=p; return s; } 输出结果: 答案: 1 2 6 24 120 4.#include word文档 可自由复制编辑 18 int f(int *p); void main() { int a[]={1,2,3,4,5} for(int i=0;i<4;i++) cout< int f(int *p) { static int s=0; s+=*p; return s; } 输出结果: 答案: 1 3 6 10 15 4. #include int a[5],x,i=0; do { cin>>x; if(x%2==0) { a[i]=x; i++; } }while(i<5); for(i=0;i<5;i++) cout< 输入: 1 6 5 8 2 0 7 10 输出结果: 答案:6 8 2 0 10 5. #include word文档 可自由复制编辑 private: int a,b; static int s; public: myclass(int i, int j) { a=i; b=j; cout<<\ } ~myclass() { cout<<\ } void sum() { s+=a*b; } void print() { cout< int myclass::s =0; void main() { myclass *a1, *a2; a1=new myclass(1,1); a2=new myclass(10,20); (*a1).sum(); (*a2).sum(); a1->print(); a2->print(); delete a1; delete a2; } 输出结果: 答案: Constructor. Constructor. 1,1 sum=201 10,20 sum=201 Destructor. Destructor. 6. #include word文档 可自由复制编辑 void main() { int a,b; for(a=1,b=1;b<=10;b++) { if(a>=10) break; if(a==1) { a+=3; continue; } a-=3; } cout<<\} 输出结果: 答案: a=1b=11 7. #include private: int a,b; public: A(int i, int j) { a=i; b=j; } void move(int m,int n) { a+=m; b+=n; } void show() { cout<<\ } }; class B: public A { private: int x,y; public: B(int i, int j,int k,int l):A(i,j) word文档 可自由复制编辑 { x=k; y=l; } void show() { cout< void main() { A e(10,20); e.show (); B b(30,40,50,60); b.fun (); b.show(); b.f1(); } 输出结果: 答案: (10,20) 50,60 (60,90) 8. #include B(int y=0) { Y=y; cout<<″B(″< class D: public B{ private: int Z; public: D (int y, int z):B(y) { Z=z; cout<<″D(″< } ~D() { cout<<″~D()\\n″; } void print() { B∶∶print(); cout < word文档 可自由复制编辑 } void main() { D d(11,22); d.print(); } 输出结果: 答案: B(11) D(11,22) 11 2 ~D() ~B() 9. #include 输出结果: 答案: 1 1 2 1 1 2 3 2 1 10. #include private: double X,Y; public: A(double xx=0, double yy=0) { X=xx; Y=yy; word文档 可自由复制编辑 cout<<″构造函数被调用(″< A(A &p) { X=p.X; Y=p.Y; } }; A f() { A a(1,2); return a; } void main() { A a(4,5); A b(a); b = f(); } 输出结果: 答案: 构造函数被调用(4,5) 构造函数被调用(1,2) 11. #include public: Areaclass(double x=0,double y=0) { height=x; width=y; } protected: double height; double width; }; class Box: public Areaclass { public: Box(double h,double w):Areaclass (h,w){ } double Area(); }; class Triangle:public Areaclass { public: Triangle(double h,double w):Areaclass(h,w){ } double Area( ); }; word文档 可自由复制编辑 double Box::Area(){ return height*width; } double Triangle::Area(){ return width *height *0.5; } void main() { Box obj1(2.5,4.0); Triangle obj2(4.0,3.5); cout<<\ cout<<\} 输出结果: 答案: Box=10 Triangle=7 12. #include { int a[9]={1,2,3,4,5,6,7,8,9}; for(int i=0; i<9; i++) { cout << setw(4) << a[i]; if(i%3==2) cout< } } 输出结果: 答案: 1 2 3 4 5 6 7 8 9 13. #include { cout< if (i%5==4) cout< } cout< void main() { int a[]={1, 2, 3, 4, 5, 6, 7}; double b[4]={8, 9, 10, 11 }; word文档 可自由复制编辑 print(a,sizeof(a)/sizeof(int)); print(b,4); } 输出结果: 答案: 1 2 3 4 5 6 7 8 9 10 11 14. #include private: static int n; int X; public: A(int x=0) { X=x; n++; } ~A() { n-- ; } static int GetNum(){ return n; } void print(); }; void A∶∶print() { cout << ″n=″ << n << ″, X=″int A∶∶n = 0; void main() { A *p=new A(12); p->print(); A a(34); a.print(); delete p; cout << ″n=″ << A::GetNum() << endl; } 输出结果: 答案: n=1,X=12 n=2,X=34 n=1 15. #include cout << n << \for (k=2; k < n; k++) if (n % k == 0) cout << k << \ word文档 可自由复制编辑 << X<< endl; }
正在阅读:
面向对象程序设计复习题01-06
六年级科学总复习习题06-14
朝核问题中的大国利益博弈10-18
乐庚智能高清录播系统V1.005-14
人教版六年级语文下册第一单元测试题11-02
两本存折(龙应台《目送》)05-25
《海洋朋友》观后感600字07-09
环境监察中队长个人述职报告09-27
浅谈甲醇装置转化炉前的补碳技术12-28
工程水文学课件第二章08-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 复习题
- 程序设计
- 面向
- 对象