




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年级:_ 专业:_ 班级:_ 学号:_ 姓名:_.装.订.线诚信应考 考出水平 考出风格浙江大学城市学院2012 2013 学年第 二 学期期末考试试卷 +程序设计 开课单位:信电分院 ;考试形式:开卷;考试时间:_2013_年_07_月_1_日;所需时间: 分钟题序一二三四五六七八总 分得分评卷人得分一_判断题_(本大题共_10_题,每题_5_分,共_50_分。判断分,写出理由或正确写法4分).( )有如图所示的类成员访问示意图,其含义是正确的。理由是: 类中的公有成员是提供给外部访问的 .( )有如下类定义:class area private:int x;int y;public:void area(int a,int b);void print();int areas();;在main函数中有语句:areaA(x,y),B; 在类及类对象定义中存在错误。理由是: (1)构造函数不允许有返回值,(2)还需要有一个默认值的构造函数area(int a,int b);area( ); 请把正确的写法写在右边的空白处。.( )下列程序编译不可能通过。#include void main()int num=100;const int & x=num;coutx; num=num+20; coutx; coutnum; 理由是 程序没有错误,num是个变量,在程序中是可改变的 。 如有问题,把正确的写法改在程序中。.( )阅读下列程序,程序中存在那些错误,并请改正。#include class AAA private:int i;AAA(int id); AAA();public:void show();void AAA:show()coutiendl;AAA:AAA(int id)i=id;coutAAA objectiinitalizedendl; AAA:AAA()coutAAA object i destroyendl;void main()AAA x(1) , y(2);coutAAA object x.i ;x.show();coutAAA object y.i ;y.show();答:构造函数与析构函数不能定义为私有的,程序改为:class AAA private:int i;public:AAA(int id); AAA();void show();5.( )阅读下列程序,程序输出的结果为:date constructor called year 2012 month 5 day 15date constructor called year 2013 month 7 day 1今天是2012年5月15日date constructor called year 2013 month 7 day 1date constructor called year 2012 month 5 day 15Press any key to continue 理由是 析构函数不能重载 去掉语句: date( int a); 。 如有问题,把正确的写法改在程序中。源程序为:#include class dateprivate:int year, month, day;public:date( int y, int m, int d ); date( );date( ); date( int a); /析构函数不能重载void print( );date:date( ) /构造函数定义在类外的例子year = 2013;month = 07;day = 01;cout date constructor called year year month month day day endl;date:date(int y, int m, int d ) year = y;month = m;day = d;cout date constructor called year year month month day day endl;date:date( ) /构造函数定义在类外的例子 cout date constructor called year year month month day day endl;void date:print( )cout今天是year年month月day日endl;int main( )date DATE(2012,5,15),DATE1;DATE.print( );return 1; .( )下列定义了一个完整的类,可以编译通过。 理由是 不能定义对象C,把对象C与调用成员函数删除 。 如有问题,把正确的写法改在程序中。int main( )date A(2012,5,15),B(2013);A.print( ); B.print( );return 0;#include class dateprivate:int year, month, day;public:date( int y, int m, int d ); /date( int y=2012, int m=01, int d=01 )void print( );date:date(int y=2012, int m=01, int d=01 ) /构造函数定义在类外year = y;month = m;day = d;cout date constructor called endl;void date:print( )cout今天是year年month月day日endl;int main( )date A(2012,5,15),B(2013),C( );A.print( ); B.print( ); C.print( );return 0;7.( )下列程序编译能通过,程序执行的结果为1200。 理由是 fun函数中不能用i,j 把fun改为: double fun( ) return x*y; 并且程序执行结果为:1800 。 如有问题,把正确的写法改在程序中。#includeclass AAAAprotected: double x,y;public: AAAA(double i ,double j) x=i ;y=j; double fun( ) return i*j; class BBBB :public AAAA private: double z;public: BBBB(double x,double y,double r):AAAA(x,y) /fun函数中不能用i,jz=r ; double fun() return x * z + 10*y;void main()AAAA *p;BBBB CBBBB(30,60,20);p=&CBBBB; double a=p-fun();coutThe fun of the BBBB is aendl;8( )下列程序编译能通过。理由是 B类构造函数出错,它是容器类的对象, B(int i,int j,int k):A(i,j),aa(j,k) /构造函数中应该用容器类的对象b=k; 。 如有问题,把正确的写法改在程序中。#includeclass Aprotected:int a,b;public:A(int i,int j) a=i; b=j; void Print()couta,bendl;int Geta() return a;class B:public Aprivate: int b; A aa; public: B(int i,int j,int k):A(i,j),A(j,k) /构造函数中应该用容器类的对象b=k;void Print();void main()B bb(1,2,3);9()有下列基类与派生类定义的程序段:#includeclass Aprotected: int a;public: A(int x)a=x;void virtual show()coutAAAAAAAAAAAAAAAAendl;class AB:virtual public A protected: int ab;public: AB(int x,int y):A(x)ab=y;class AC:virtual public A protected: int ac;public: AC(int x,int y):A(x)ac=y;class ABC:public AB,public AC protected: int abc; public: ABC(int x,int y,int z):AB(x,y),AC(x,y)/A(z) abc=z; ;void main()ABC cc(1,2,3);cc.show(); 理由是 在ABC(int x,int y,int z)中A:A没有一个合适可用的构造函数 。 如有问题,把正确的写法改在程序中。 ABC类构造函数出错,应改为: ABC(int x,int y,int z):AB(x,y),AC(x,y),A(x) abc=z; 10()用于继承的基类AA: 理由是 friend AAAA operator+(const AAAA &x) ; 重载方式与参数不一致改为: AAAA operator+(const AAAA &x) ; 及:AAAA AAAA: operator+(const AAAA &A) return AAAA(x + A.x, y + A.y); 。 如有问题,把正确的写法改在程序中。#include class AAAAprivate: double x; double y;public:AAAA(void) x=0;y=0; AAAA(double rp, double ip)x=rp; y=ip; friend AAAA operator+(const AAAA &x) ; void Print(void);void AAAA:Print(void) cout(x , yi)x1y1;cinx2y2; AAAA z1(x1,y1),z2(x2,y2),z; z=z1+z2; z.Print( ); 。得分二_程序填空_(本大题共_6_题,每题_10_分,共_60_分。)1. 设计一个圆台形的茶杯类CUP,此类有个成员,分别用r1、r2、h表示,请输出茶杯的容积,请定义一个完整、规范的类。完整类定义:class CUP private: double r1,r2,h; public: CUP(double r11,double r22,double hh) r1=r11;r2=r22;h=hh; double v() return 3.14*h*(r1*r1+r1*r2+r2*r2)/3.0;2. 定义一个Circle类,其中数据都为私有的,函数都为公有的,在输出函数show中能输出圆面积与周心坐标。在测试函数中能以Circle A(5),B(20,5) ,C(20,30,5)的形式定义对象,类中初始化对象、释放对象必须用构造函数与析构函数。定义Circle类:class Circle private: double r; double x,y; public: Circle(double rr)r=rr;x=0;y=0; Circle(double xx,double rr)r=rr;x=xx;y=0; Circle(double xx,double yy,double rr)r=rr;x=xx;y=yy; void show() cout面积3.14*r*r坐标为:(x,y)endl;3. 阅读以下程序,设类A代表肉类,类B代表鱼类,它们都有私有数据质量w与价格p,在程序中的应用函数com比较肉类A与鱼类B的总价,请定义用于比较对象野兔、鱼总价值的友元函数com。#include class B;class Aprivate:double x , y;public:A(double ww, double pp)x=ww;y=pp;int com(const B & b);class Bprivate:double w,p;public:B(double ww, double pp)w=ww;p=pp; friend int A:com(const B & b); /友元函数说明 ;void main(void)double x1,y1,x2,y2;cinx1y1;cinx2y2; A aa(x1,y1);B bb(x2,y2);(bb);比较对象野兔、鱼总价值的友元函数int A:com(const B & b)if(x*yb.w*b.p)cout B endl;else if(x*y=b.w*b.p)cout A=B endl;elsecout A B endl;return 0;4.已定义了圆类Circle,有一个私有数据为圆半径r,分别从Circle继承产生一个球类与圆柱类,圆柱类类中增加徒有数据h,最后从圆柱类与球类共同继承产生以下图形。class Circle public : Circle(int x)r=x; void print( ) cout”s=”3.14*r*rendl; protected: int r; ;请定义完整圆柱类。class Cylinder:virtual class Circle private: double h; public: Cylinder(do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园教师劳动合同
- 解除房屋租赁合同协议书
- 采矿企业拆迁补偿合同协议
- 门面商铺租赁合同
- 微球载体材料项目商业计划书
- 2025年城市地下综合管廊专项债券资金申请项目可行性研究报告
- 阿拉善盟市级机关选调真题2024
- 餐饮行业商业计划书:2025年外卖市场增长趋势预测
- 中医院护理考试题目及答案
- 中医学试题及答案百度云
- T/CMES 37003-2022景区玻璃类观景设施安全规范
- 《西红柿移栽和管理》课件
- 虚拟货币交易合同协议
- 《病毒性肝炎》课件
- 《肺癌早期筛查与干预》课件
- 模具产品保密合同协议
- 完整的离婚协议书打印电子版(2025年版)
- 自然科学类博物馆AI应用行业跨境出海战略研究报告
- 《小学科学课程标准》解读与教学设计
- 2025届高考新型题目“纠正错别字”新题模拟练习
- 2024年江苏省南京市中考数学试卷真题(含答案逐题解析)
评论
0/150
提交评论