面向对象程序设计试卷3
- 格式:doc
- 大小:54.00 KB
- 文档页数:7
面向对象程序设计一、单项选择题1. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为()。
.A. BOOK *x=new book;B. BOOK x={"C++ Programming",27.0};C. BOOK *x=new BOOK;D. BOOK *x=book;2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( )。
.A. cppB. exeC. objD. lik3. 假设所有变量均为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是( ) 。
A.7B.8C.9D.24. 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的()。
.A. 可维护性B. 可复用性C. 兼容性D. 正确性5. 当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( )。
.A. nB. n+1C. n-1D. n-26. 假定一个类的构造函数为“A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行“A x(4,5);”语句后,x.a和x.b的值分别为( )。
.A. 4和5B. 5和4C. 4和20D. 20和57. 当一个类对象离开它的作用域时,系统自动调用该类的( )。
.A. 无参构造函数B. 带参构造函数C. 拷贝构造函数D. 析构函数8. 引入友元的主要目的是为了()。
.A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性9. .一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明()。
.A. 需加上类域的限定B. 不需加上类域的限定C. 类域的限定可加可不加D. 不需要任何限定10. 一个类的静态数据成员所表示属性( )。
Java面向对象程序设计试卷(三)参考答案一、填空题(每空2分,共40分)(1) __C_____________________________(2) __D_____________________________(3) __C_____________________________(4) __num3=(byte)(num1+num2)_______(5) __3th season______________________(6) __20_____________________________(7) __D______________________________(8) __3____2_________________________(9) __start() _________________(10) __C______________________________(11) __Transfer Control Protocol______________(12) _ 连接__________(13) __A(14) __B _______(15) __A__C____________________________(16) __D______________________________(17) __try______________________________(18) __ NumberFormatException e ___ _(19) _ _调用了该线程的sleep()休眠方法_______ __(20) __装载JDBC驱动程序并连接数据库______二、编程题(共60分)1.(15分)评分标准:属性定义:3分;构造器方法:6分;方法实现:6分;参考程序:class Rect{protected double width,height;public Rect(double width,double height){this.width=width;this.height=height;}public Rect(){width=10;height=10;}public double area(){return width*height;}public double perimeter(){return 2*(width+height);}}2.(15分)评分标准:extends关键字的使用:3分;属性定义:2分;构造器方法:6分;方法实现:4分参考程序:class PlainRect extends Rect{private double startX,startY;public PlainRect(double startX,double startY,double width,double height){ super(width,height);this.startX=startX;this.startY=startY;}public PlainRect(){super();startX=0;startY=0;}public boolean inInside(double pointX,double pointY){if(pointX>=startX&&pointX<=(startX+width)&&pointY>=startY&&pointY<=(startY+height)) return true;else return false;}}3.(10分)评分标准:程序框架:2分;对象创建:2分;面积与周长计算机打印:4分;判断点是否在矩形内并打印信息:2分参考程序:class Test{public static void main(String args[]){PlainRect pr=new PlainRect(10,10,10,10);System.out.println("面积为:"+pr.area());if(pr.inInside(23,13))System.out.println("在矩形内");elseSystem.out.println("不在矩形内");}}4.(20分)评分标准:程序包的导入:3分;程序窗体:3分;组件与添加:5分;事件监听器的添加:2分;实现ActionLister接口:2分;事件处理代码:5分;参考程序:import javax.swing.*;import java.awt.*;import java.awt.event.*;class FrameTest extends JFrame implements ActionListener{JLabel label;public FrameTest(){super("图形界面与事件处理");setSize(250,150);Container con=getContentPane();con.setLayout(null);label=new JLabel("0");label.setBounds(100,30,50,30);con.add(label);JButton button=new JButton("按钮(+5)");button.setBounds(60,60,120,30);button.addActionListener(this);con.add(button);setVisible(true);}public static void main(String args[]){FrameTest t=new FrameTest();}public void actionPerformed(ActionEvent e){String str=label.getText();int i=Integer.parseInt(str)+5;label.setText(String.valueOf(i));}}。
面向对象程序设计样卷一、选择题( 本大题共10小题, 每题2分, 共20分)4.在下列定义的引用中, ( B )是错误的。
A. int i;B. int i;int &j = i; float &j=i;C. float i;D. char d;float &j = i; char &e = d;5. 假定BB为一个类,则执行BB y;语句时将自动调用该类的( B )A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数7.下列对派生类的描述中, ( C )是错误的。
A. 一个派生类能够作为另一个派生类的基类B.派生类至少应有一个基类C. 基类中成员访问权限继承到派生类中都保持不变D.派生类成员除了自己定义的成员外, 还包含了它的基类成员10.控制输出格式的控制符中, ( D )是设置输出宽度的。
A.wsB.endsC. setfill()D.setw()二、填空题( 本大题共10小题, 每题2分, 共20分)1.以/*开始, 以*/结束, 在/*和*/之间的部分即为注释。
2.重载函数在参数类型或参数个数上不同, 但函数名和类名_相同。
3. 假如一个类的名称为MyClass, 使用这个类的一个对象初始化该类的另一个对象时, 能够调用__拷贝______构造函数来完成此功能。
4.当删除对象时, 程序自动调用析构函数。
5. 对于每一个类的非静态成员函数, 都有一个隐含的_this_______指针。
8. 抽象类是指类里有一个函数, 是纯嘘函数。
三、改错题( 下面程序或程序段中有一处错误, 请用注释标明错误所在行的出错原因。
本大题共5小题, 每题2分, 共10分) 1. #include<iostream>using namespace std;int main(){ cout<<"This is a program."<<endl;return 0;}2. #include<iostream>using namespace std;int main(){x=3;int y=x*x;cout<<"y="<<y<<"\n";return 0;}3. #include<iostream>using namespace std;class Aa{public:Aa(int i=0){a=i; cout<<"Constructor "<<a<<endl; } ~Aa(){ cout<<"Destructor "<<a<<endl; }void print( ){cout<<a<<endl;}private:int a;};int main(){Aa al(1),a2(2);al.print();cout<<a2.a<<endl;return 0;}4.class A{int a,b;public:A(int aa,int bb=78){a=aa;b=bb;} };int main(){A x(2), y(4,9);return 0;}5. #include<iostream>using namespace std;class Test{public:static int x;};int Test :: x=20;int main(){cout<<Test::x;return 0;}四、程序分析题( 分析程序, 写出运行结果。
聊城大学计算机学院面向对象的程序设计第三次作业一、单选题(本大题共17小题,每题3分,共51分):1、在下列函数原型中,可以作为类AA构造函数的是()。
A void AA(int);B int AA( );C AA(int) const;D AA(int);2、下列选项中,哪一项功能是对对象进行初始化()。
A 析构函数B 数据成员C 构造函数D 静态成员函数3、假定A为类名,执行A x;语句时将自动调用该类的()。
A 有参构造函数B 无参构造函数C 拷贝构造函数D 赋值构造函数4、下列关于构造函数的说法,错误的是()。
A 系统可以提供默认的构造函数B 构造函数可以有参数,所以可以有返回值C 构造函数可以重载D 构造函数可以设置默认参数5、有如下类定义:class Point{int x, y;public:Point__________:x_(0), y_(0){}Point(int x, int y = 0):x_(x), y_(y){}};若执行语句:Point a(2), b[3], *c[4];则Point类的构造函数被调用的次数是()。
A 2次B 3次C 4次D 5次6、在下面的类定义中class sample{public:sample(int val); //①~sample( ); //②private:int a=2.5; //③public:sample( ); //④};其中错误的语句是()。
A ①B ②C ③D ④7、假定一个类的构造函数为A(int i = 4, int j = 0) { a = i; b = j;}则执行A x(1)语句后,x.a和x.b的值分别为()。
A 1和0B 1和4C 4和0D 4和18、下列关于构造函数的描述中,错误的是()。
A 构造函数可以设置默认参数B 构造函数在定义类对象时自动执行C 构造函数可以是内联函数D 构造函数不可重载9、下列选项中,哪一项不是构造函数的特征()。
江南大学网络教育第三阶段江南大学练习题答案共三个阶段,这是其中一个阶段,答案在最后。
考试科目:《面向对象的程序设计》第章至第章(总分100分)__________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共8题,总分值8分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. 关于函数模板,描述错误的是()。
(1 分)A. 函数模板必须由程序员实例化为可执行的函数模板B. 函数模板的实例化由编辑器实现C. 一个类定义中,只要有一个函数模板,则这个类是类模板D. 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化2. 关于read()函数的下列描述中,()是正确的。
(1 分)A. 该函数只能从键盘输入中获取字符串B. 该函数只能用于文本文件的操作C. 该函数只能按规定读取指定数目的字符D. 从输入流中读取一行字符3. 在ios类中提供的控制格式标志字中,()是转换为十六进制形式的标志常量。
(1 分)A. hexB. octC. decD. right4. 进行文件输人操作时应包含()文件。
(1 分)A. ifstream.hB. fstream.hC. ofstream.hD. iostream.h5. 关于异常的描述中,错误的是()。
(1 分)A. 异常既可以被硬件引发,又可以被软件引发B. 运行异常可以预料,但不能避免,它是由系统运行环境造成的C. 异常是指从发生问题的代码区域传递到处理问题的代码区域的一个对象D. 在程序运行中,一旦发生异常,程序立即中断运行6. 假设有函数模板定义如下:template<typename T>Max(T a, T b, T &c){c = a + b;}下列选项正确的是()。
(1 分)A. float x, y; float z; Max(x, y, z);B. int x; float y, z; Max(x, y, z);C. int x, y; float z; Max(x, y, z);D. float x; double y, z; Max(x, y, z);7. 关于对getline()函数的下列描述中,()是错误的。
南开19春学期(1709、1803、1809、1903)《面向对象程序设计》在线作业4、B一、单选题共35题,70分1、read函数的功能是从输入流中读取( )。
A一个字符B当前字符C一行字符D指定若干个字符【解析】本题选择:D2、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
Aios::inBios::outCios::trunkDios::binary【解析】本题选择:A3、面向对象程序设计思想的主要特征中不包括( )。
A封装性B多态性C继承性D功能分解,逐步求精【解析】本题选择:D4、关于纯虚函数,下列表述正确的是( )。
A纯虚函数是未给出实现版本(即无函数体定义)的虚函数B纯虚函数的声明总是以“=0”结束C派生类必须实现基类的纯虚函数D含有纯虚函数的类一定是派生类【解析】本题选择:B5、建立类模板对象的实例化过程为( )。
A基类->派生类B构造函数->对象C模板类->对象D模板类->模板函数【解析】本题选择:C6、可以用p.a的形式访问派生类对象p的基类成员a其中a是( )。
A私有继承的公有成员B公有继承的私有成员C公有继承的保护成员D公有继承的公有成员【解析】本题选择:D7、下面描述中,错误的是( )。
A在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问C在基类定义的public和protected成员在保护继承的派生类中可见D在派生类中不可见的成员要变成可访问的,需要进行访问声明。
c面向对象程序设计考试试卷(详细讲解).docC++面向对象程序设计考试试卷(详细讲解)一、单项选择题(共20 题,每题 1 分,共 20 分)1、下列关于 C++标识符的命名不合法的是C与 C#一样A. PadB. name_1C. A#bcD. _a122、若有以下类型标识符定义:() Dint x=2;char w='a';float y=23.45f;double z=45.6712;则表达式 w*x+y-z 的结果类型是A. floatB. charC. intD. double6、对重载函数形参的描述中,错误的是 D 重载是重点A.参数的个数可能不同B.参数的类型可能不同C.参数的顺序可能不同D.参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是 DA. int N=5,b[N][N];B. int a[2]={{1},{3},{4},{5}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};8、下列给字符数组进行的初始化中,不正确的是 DA. char s1[]="abcd";B. char s2[3]={'x','y','\0'};C. char s3[]={'a','x','y','\0'};D. char s4[6]={"xyz","mnp"};9、通常的拷贝构造函数的参数是 CA.某个对象名 B.某个对象成员名C.某个对象的引用D.某个对象的指针名10、关于构造函数特点的描述中,错误的是 AA.定义构造函数必须指出类型(构造函数特点是无返回类型)B.构造函数的名字与该类的类名相同C.一个类中可定义0 至多个构造函数(不写构造函数,系统会自动生成一个空的构造函数)D.构造函数是一种成员函数11、下面程序的运行结果为 C#includeint add(int a,int b);void main(){extern int x,y;cout<<add(x,y)<<endl;< bdsfid="108" p=""></add(x,y)<<endl;<>}int x=20,y=5;int add(int a,int b){int s=a+b;- 1 -return s;}A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是 BA.常成员包含常数据成员和常成员函数两种B.常数据成员必须是公有的C.常数据成员要使用构造函数成员初始化列表进行初始化D.常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友元函数的描述中,错误的是 BA.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字friend14、如果有 int x,*p; float y,*q; 则下面操作正确的是 CA.p=x B.p=qC.p=&x D.p=&y16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是 DA.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址17、对于动态分配内存空间描述正确的是 DA.使用 new 运算符分配的内存空间的长度必需是常量B.delete 运算符可以释放动态的存储空间和静态的存储空间C.由 new 分配的内存空间是不连续的D.delete 运算符只能释放由new 分配的动态存储空间18、能够释放对象所占资源的是() AA.析构函数 B.数据成员C.构造函数 D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字 CA.static B.frendC.virtualD.public20、在 C++中串流类是在头文件 strstrea.h 中定义的,下列不属于串流类的是) CA.strstream B.ostrstreamC.ofstream D.istrstream二、填空题(共9 题 16 空,每空 1 分,共 16 分)1、函数重载时,编译系统会根据 __形参的类型 __或__形参的个数__来区分。
c面向对象程序设计考试试题一、选择题(每题2分,共20分)1. 面向对象程序设计中,以下哪一个不是基本特征?A. 封装B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. functionC. structD. type3. 以下哪个是Java中不允许的类名?A. MyClassB. 1MyClassC. MyClass1D. MyClass$4. 在Java中,以下哪个是正确的构造方法声明?A. void MyClass() {}B. int MyClass() {}C. MyClass MyClass() {}D. MyClass() {}5. 以下哪个关键字用于实现类的继承?A. extendsB. implementsC. overrideD. abstract6. 以下哪个关键字用于声明接口?A. classB. interfaceC. abstractD. enum7. 在Java中,以下哪个关键字用于实现多态?A. newB. superC. overrideD. implements8. 在Java中,以下哪个关键字用于定义包?A. packageB. importC. classD. interface9. 以下哪个是Java中的访问控制修饰符?A. publicB. staticC. finalD. void10. 在Java中,以下哪个是正确的方法重载声明?A. void display(int a, int b)B. int display(int a, int b)C. void display(int a, int b) {}D. void display(int a, int b) { return a + b; }二、简答题(每题10分,共30分)1. 简述面向对象程序设计中的封装、继承和多态三个基本特征。
2. 解释Java中的接口和抽象类的区别。
面向对象程序设计试卷及答案开发环境为,运行结果有截图,若发现错误欢迎指正。
实验一、程序开发环境及简单程序设计。
题目、简单程序任务:按提示的操作步骤输入下面的代码,编译连接并执行。
源程序代码:""(){ <<"!\";<<" !"<<;<<" "<<;}运行结果:题目、编写程序,从标准输入读入一个数,把它转化为英文单词输出,如输入,这是输出“”。
源程序代码:<>;(){ ;<<"请输入数字用来转化为英文单词:";(){ >>('\') ;(){<<" "; ;<<" "; ;<<" "; ;<<" ";<<" "; ;<<" "; ;<<" "; ;<<" ";<<" ";<<" "; ;}}}运行结果:题目、循环结构程序设计任务把一张一元纸币换成一分、二分和五分的硬币,假如每一种至少一枚,文友多少种换法,编程将各种换法显示出来。
源程序代码:<>;(){;<<"一角"<<"两角"<<"三角"<<;(<)(<)(<)(**){<<<<" "<<<<" "<<<<" "<<;}<<"换法的总数为:"<<<<;}运行结果:(由于种数太多截图不方便所以只截了最后的部分!)实验二、函数题目、内联函数任务(1)定义内敛函数(),求两个整数中的最大值,然后在()函数中惊醒调用(2)定义内联函数()和一般函数(),使整型参数值加,然后在()函数中惊醒调用;源程序代码:<>;( );( );( );(){;<<<<","<<<<"中最大的是:"<<()<<;<<<<"加后为:"<<()<<;<<<<"加后为:"<<()<<;}( ){ (>) ;;}( ){ ;}( ){ ;}运行结果:题目、函数参数的传递机制、重载函数任务(1)编写重载函数()可分别求个整数、个整数、个双精度和双精度数的最大值。
面向对象程序设计考试(答案见尾页)一、选择题1. 面向对象程序设计(OOP)的基本概念是什么?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. 以上所有11. 在面向对象程序设计中,什么是类和对象?它们的关系是什么?A. 类是一种抽象的数据类型,而对象是类的实例。
B. 类是用来描述具有相同属性和行为的对象的集合,对象是类的实例。
一、选择题(每题 2.5 分,共 30 分) 1、关键字( )说明对象或变量初始化后不会被修改。 A、static B、public C、const D、inline 2、一个类可以 ( )构造函数。 A、有且仅有一个 B、有多个 C、有零个 D、以上都不是 3、内联函数执行起来比标准函数 ( )。 A、更慢 B、不确定 C、次数更多 D、更快 4、默认参数的值由 ( )提供。 A、该函数 B、调用程序 C、 上述二者 D、 以上都不是 5、静态数据成员的生存期 ( )。 A、与整个程序相同 B、 不长于类的生存期 C、取决于创建的对象数 D、 以上都不是 6、已知在一个类体中包含如下函数原型 : Volume operator-(Volume)const,下列关于这个 函数的叙述中,错误的是 ( )。 A、这是运算符 -的重载运算符函数 B、这个函数所重载的运算符是一个一元运算符 C、这是一个成员函数 D、这个函数不改变类的任何数据成员的值 7、通常的拷贝初始化构造的参数是 ( )。 A、某个对象名 B、某个对象的成员名 C、某个对象的引用名 D、某个对象的指针名 8、设置虚基类的目的是 ( )。 A、简化程序 B、消除二义性 C、提高运行效率 D、减少目标代码 9、派生类的对象对它的基类成员中 ( )是可以访问的。 A、公有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员 D、私有继承的公有成员 10、作用域运算符的功能是 ( )。 A、标识作用域的级别的 B、指出作用域的范围的 C、给出作用域的大小的 D、标识某个成员是属于哪个类的
111、类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func( ),p 是一个指向 类 A 对象的指针,则 p->A::func( ) 将( )。 A、调用类 A 中的函数 func( ) B、调用类 B 中的函数 func( ) C、根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func( ) D、既调用类 A 中函数,也调用类 B 中的函数 12、下列关于虚函数的说明中,正确的是( )。 A、从虚基类继承的函数都是虚函数 B、虚函数不得是静态成员函数 C、只能通过指针或引用调用虚函数 D、抽象类中的成员函数都是虚函数 二、填空(每题 2 分,共 20 分) 1、类的构造函数 ____(可以/不可以)是虚函数。 2、面向对象程序设计有四个主要特点,即抽象、封装、继承和 ____。 3、在 C++类中可以包含公有、私有和 _________三种具有不同访问控制权的成员。 4、定义类时,在类头中将使用关键字 ________来表示类定义的开始。 5、如果一个类中至少有一个纯虚函数,则该类称为 ______。 6、C++中动态申请内存空间,需要用 ____关键字实现。 7、在表达式 x+y 中, + 是作为成员函数重载的运算符,则 operator+ 有_____个参数。 8、静态数据成员初始化与一般数据成员初始化 ____(相同/不同)。 9、用流对象的成员函数控制输出格式时,用于设置字段宽度的流成员函数的名称是 width,与之作用相同的控制符名称是 ____。 10、程序填空: class Base { public: void fun(){cout<<"Base::fun" cout<<"Derived::fun"<三、读程序写结果(每小题 5 分,共 25 分) 1. class counter { private: int n; 2public: counter() {n=0;} counter(int i){n=i;} counter operator + (counter c)/运/ 算符重载函数 { counter t; t.n=n+c.n; return t; } void disp() {cout<<"n="<}; void main() { counter c1(5),c2(10),c3; c3=c1+c2; c1.disp(); c2.disp(); c3.disp(); } 2. void fun(int &x, int y) { int t=x; x=y; y=t; } int main( ) { int a[2] = {23, 42}; fun(a[1],a[0]); std::cout 4滨州学院 2011-2012 学年第二学期期末考试 计算机科学与技术专业(本) 2011 级 《面向对象程序设计》( A)标准答案 一、选择题(每题 2.5 分,共 30 分) 1-6 C B D C A B 7-12 C B A D A B 二、填空(每题 2 分,共 20 分) 6.可以 2.多态 3.保护 4.class 5.抽象类 6.new 7.1 8.不同 9.setw 10.Base::fun(); 三、读程序写结果(每小题 5 分,共 25 分) 1. n=5 n=10 n=15 2. 23,23 3. ABC 4. the student is Li Hu the student is Wang Ping 5. 2 四、程序设计题(第 1 题 10 分,第 2 题15 分,共 25 分) 阅卷说明:程序设计题的方法比较多,只要学生程序能够正确解决问题即可得分,不必 局限于标准答案给出的方法。 1.(10 分)评分标准:程序包括正确 Dog 类定义、构造函数及成员函数实现( 7 分)、 测试 Dog 类对象的使用( 3 分)两个主要部分,只要结果正确,语法无误即可得分,否 则酌情扣分。 class Dog{ 5public: Dog (int initialAge = 0 , int initialWeight = 5); int GetAge() { return itsAge;} int GetWeight () { return itsWeight;} void SetWeight (int weight) { itsitsWeight = weight;} private: int itsAge, itsWeight; }; Dog::Dog(int initialAge , int initialWeight) { itsAge = initialAge; itsWeight = initialWeight; } int main() { Dog Jack(2,10); cout << "Jack is a Dog who is " ; cout << Jack.GetAge() << " years old and"; cout << Jack.GetWeight() << " pounds weight.\n"; Jack.SetWeight(20); cout << "Now Jack is " ; cout << Jack.GetAge() << " years old and"; cout << Jack.GetWeight() << " pounds weight."; return 0; } 7.(15 分)评分标准:程序包括正确 Shape类定义(3 分)、Rectangle类定义及成员函 数实现(4 分)、Circle 类定义及成员函数实现( 4 分)、测试程序实现运行时多态( 4 分)四个主要部分,只要结果正确,语法无误即可得分,否则酌情扣分。 #include using namespace std; class Shape{ public: 6