面向对象程序设计a卷(编辑修改稿)内容摘要:
、问答题(共 30分) 1. ( 4分)画出下列程序产生的对象的内存映象。 includeiostream includestring using namespace std。 class Member { 得分 评卷人 第 3页 共 12 页 int age。 char *name。 public: Member( int a, char *str) { age = a。 name = new char[ strlen(str)+1 ]。 strcpy( name, str )。 } void print() { coutnameis age years old.endl。 } }。 int main() { Member obj1( 35, Tom), obj2( 57, Johnson)。 ()。 ()。 return 0。 } 2. ( 4分)阅读下面程序,写出运行结果。 includeiostream using namespace std。 class A { int a,b。 public: A(int x,int y){a=x。 b=y。 } 第 4页 共 12 页 void move(int xx,int yy){ a+=xx。 b+=yy。 } void print( ){cout(a,b)endl。 } }。 class B : public A { int x , y。 public: B( int i,int j,int k,int w):A(i,j),x(k),y(w) { } void print( ) { coutx,yendl。 } void f1( ){ move(3,5)。 } void f2( ){ A::print( )。 } }。 int main() 运行结果: { A a(1,2)。 ()。 B b(3,4,5,6)。 ()。 ::print()。 ::print()。 ()。 return 0。 } 3.( 4分) 已定义了 Demo类的静态成员函数 function,该函数无返回值,无参数。 请分别写出该函数在类 中的声明形式和在类外定义时的函数头部,并写出调用该函数的两种方法。 1) 在类中的声明形式: 2) 在类外定义时的函数头部: 3)调用 function函数的两种方法 : 第 5页 共 12 页 4.( 4 分)什么是虚函数。 虚函数与函数重载有哪些相同点与不同点。 5.( 4分)若已定义了 Date 类, myDate为 Date类对象,有如下表达式 myDate+=60。 ,则 1)将 “+=”运算符重载为成员函数,则其函数头为: 2)将 “+=”运算符重载为友员函数,则其函数头为: 6.( 4分) 构造函数完成对象初始化的工作,除了普通构造函数外,还可以定义拷贝构造函数和转换构造函数,请写出这两种构造函数的特点以及在什么情况下会调用它们。 7.( 2 分)设 GradeBookT类模板有一个名为 getGrade 的成员函数,该函数的返回值为 T 类型,没有参数,若在类外定义该函数,请写出该成员函数的函数头。 8.( 2分)函数模板与同名的非模板函数重载时,调用的顺序是怎样的。 第 6页 共 12 页 9.( 2分) 请给出当分别以参数 Li Ping, 32和 Li XiaoPing, 24创建对象时下面程序的输出。 includeiostream includestring using namespace std。 class Student { char *Name。 int Age。 public: Student(char *name, int age) { int length=strlen(name)。 Name=new char[length+1]。 strcpy(Name,name)。 Age= age。 if(length=0 || length10) throw 0。 if(age30) throw 1。 } }。 int main() { try{ Student(Li Ping,32)。 } catch(int size) { if (size==0) coutName is too longendl。 else coutAge is too oldendl。 } } 1) 当对象参数为 Li Ping,32时程序输出 : 2) 当对象参数为 Li XiaoPing ,24时程序输出 : 第 7页 共 12 页 三、程序填空题(每空 2分,共 30分) 1.( 18分)阅读下面程序, 并填空。 该程序的运行结果为: include iostream include string using namespace std。 class Employee { public: Employee(string na, string de) : { } virtual void print() const。 //输出职员信息 //析构函数 { } private: string name。 //姓名 string dept。 // 部门 }。 //在类外实现 print函数 { cout Name: name endl。 cout Dept: dept endl。 } class Manager : //Employee的派生类 { public: Manager(string na, string de, int le) : { } 得分 评卷人 第 8页 共 12 页 virtual void print() const //对基类的 print函 数进行重写 { cout Level: level endl。 } private: int level。 //职别 }。 int main() { //动态创建姓名为 Sally Smith,部门为 Sales,职别为 2的对象。 Employee* emp = //输出该对象相关 信息 return 0。 } 2.( 12分) 以下程序根据用户输入的日期, 从 文件中取出满足条件的记录。 文件每 4行存放一条记录,分别是日期 (day)、时间 (time)、价格 (price)、名称 (name),如左图所示,该文件共存放 5条记录。 运行结果如右图所示,用户输入日期,即可从文件中找到相应记录。 请填空。 第 9页 共 12 页 include iostream include string using namespace std。 void displayEvent( int )。 // display event information int main() { int date。 // event day cout \nSelect date (131) or 0 to exit:。 cin date。 while ( date != 0 ) { displayEvent( date )。 cout \nSelect date (131) or 0 to exit:。 cin date。 } cout \n。 return 0。 } 第 10 页 共 12 页 void displayEvent( int date ) { string time。 string price。 string name。 string contents。 // line of text from calendarFile int day。 // day of the month for an event // open file for input if ( ) { cout Error: File could not be opened. endl。 exit( 1 )。 } // read。面向对象程序设计a卷(编辑修改稿)
相关推荐
《面向对象程序设计课程设计》说明书 第一章 概述 面向对象编程用语言与其他语言不同,它将客观事物看做具有属性和行为的随想,通过抽象找出同一类对象共同属性 和行为。 主要特点是:抽象、封装、继承和多态。 在本程序的设计过程中,主要运用了抽象和封装的手法。 本程序中将抽出的公共性质和 一部分 功能一起封装成了一个 Student 类 ,功能被设计成相应的函数。 封装中的函数为类提供了外部接口
则输出结果为( )。 B A. 3 B. 4 C. 5 D. 6 二、填空 1. 假定 x=5, y=6,则执行表达式 y+=x计算 后, x和 y的值分别为 __________和 __________。 3 4 11 2. C++常数 0x145对应的十进制值为 __________。 325 3. C++常数 0345对应的十进制值为 __________。 229 4. 十进制常数
台面上,设定开槽深度,脚踩踏板,气缸自动压料,洗槽电机同时升起。 开好燕尾槽。 建筑用木别墅连接件 :建筑用木别墅连接件 :适用于木别墅或阳光房,墙体 和立柱的连接,需配合重型燕尾榫。 :碳纤维 重型燕尾榫 :重型燕尾榫 :端面尺寸 2416mm 长度: 100mm :碳纤维 ,阳光房,木别墅的专用连接件,配合燕尾刀使用。 16 手工工具套装 手工刨子加紧钳多功能手锯套装 :手动工具 刨子套装:
开,升降器臂拉压变形量相等。 图 玻璃升降器工作示意图 1— 传动臂; 2— 球头滚轮轴; 3— 滑槽; 4— 滚轮; 5— 弹簧片 力的传递方式 玻璃升降器是由人力操作的,产生 ,但在各臂开始运动前,手柄的自由转动空行程量应恰当,一般为 78度。 传动路线: 手摇柄→小齿轮→扇形齿轮→升降臂(主动臂与从动臂) →玻璃安装槽板→玻璃升降运动。 如图 图 力的传递过程 玻璃升降器的布置 驱动机构
由被测脉冲序列来同步。 整个测量过程如下。 A 点时计数器对被测脉冲 M1 和高频基准脉冲 M2 同时计数。 到达 B 点时,预设定的测速时间 TC 已到。 系统发出停止计数命令。 而此时,由于预设定的时间 TC 不一定恰好等于整数个被测脉冲的脉冲周期。 所以计数器仍对高频基准脉冲继续进行计数。 在 D 点被测脉冲的上升沿使计数器停止计数。 这样,高频基准脉冲个数 M2 所对应的计时时间就代表了
采用 的是 多电动机驱动。 综上:针对本次设计要求, 决 定采用 单筒单电机驱动,向上运输布置形式 的 移动带式输送机。 带式输送机传动方案如图 22 所示: 1电动机; 2 联轴器; 3减速器; 5齿轮; 7带轮; 8滚筒 图 21 带式输送机传动简图 6 第三章 带式 输送机 设计 选型 原始数据 1. 输送物料为泥土,最大输送量: 40 t/h; 2. 物料细度为 50 mm,松散密度为