深圳大学期末考试试卷编程题(共4页).doc

上传人:飞****2 文档编号:14438470 上传时间:2022-05-04 格式:DOC 页数:4 大小:29.50KB
返回 下载 相关 举报
深圳大学期末考试试卷编程题(共4页).doc_第1页
第1页 / 共4页
深圳大学期末考试试卷编程题(共4页).doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《深圳大学期末考试试卷编程题(共4页).doc》由会员分享,可在线阅读,更多相关《深圳大学期末考试试卷编程题(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上深圳大学期末考试试卷二、下面的程序是关于CBook类的一个定义,试改正程序中的错误。(共10分)#include #include #inlcude class CBookprivate:char *p_book;public:p_book=new charstrlen(p_val)+1CBook(const char *p_val) p_book = new charstrlen(p_val); strcpy(p_book, p_val); void print() const cout p_book endl; CBook() delete p_book; ;vo

2、id main()char book_title60;CBook *p_book_obj; cout p;CBook abook(p); p_book_obj = &abook; p_book_obj-print();三、根据如下所示程序,回答下列问题(共10分)#include class CJournalpublic:CJournal() cout “Journal default constructor” endl; virtual void subscribe() = 0;void read() cout “Read paper” endl; CJournal() cout “Jour

3、nal default destructor” endl; ;class CComputerDesign : public CJournalpublic:CComputerDesign () cout “Computer Designdefault constructor” endl; virtual void subscribe() cout “Subscribing Computer Design” endl; void read() cout “Reading Computer Design” endl; CComputerDesign() cout “Computer Designde

4、fault destructor” subscribe();p_journal-read();1.当程序运行到处时,写出程序运行的输出结果 (3分)2. 当程序结束时,程序会在第1问的基础上增加哪些输出。 (4分)3. 若在主函数中定义一个对象CJournal journal;程序编译时会否出错?为什么?(3分)四、编程题(共40分)1. 定义一个商品类CGoods,其中包含商品号(long no)、商品名(char *p_name)、商品价格(double price)三个数据成员,以及相应的构造函数、拷贝构造函数、析构函数、打印数据成员的成员函数。(10分)#include #includ

5、e using namespace std;class CCourseprivate:long no;char *p_name;float credit;public:CCourse(long no_val,char p_val,float credit_val); CCourse(const CCourse &r_course);CCourse()delete p_name;void print() const;CCourse:CCourse(long no_val,char p_val,float credit_val)no=no_val;p_name=new charstrlen(p_v

6、al)+1;strcpy(p_name,p_val);credit=credit_val;CCourse:CCourse(const CCourse &r_course)no=r_course.no;p_name=new charstrlen(r_course.p_name)+1;strcpy(p_name,r_course.p_name);credit=r_course.credit;void CCourse:print() constcoutCourse numbernoendl;coutCourse namep_nameendl;coutCourse creditcreditendl;2

7、. 为CGoods类增加一个商品总数(int count)数据成员,并增加一个成员函数getCount()获取count的值,编写一个友元函数getName()获取商品名称p_name。做如上修改后,重新实现CGoods类(与第1问相同的不用再重复)。(10分)3. 为CGoods类定义小于运算符(=)两个运算符重载函数。CGoods类对象大小的比较是根据其商品价格(price)的值的大小来实现的。(与第2问相同的不用再重复)(10分)4. 以CGoods类为基类,派生出服装类CClothes和食品类CFood两个派生类,并在这两个类中分别增加一个表示品牌的指针数据成员(char *p_bra

8、nd)和表示用途的成员函数(void usedFor()可分别输出一条表示服装和食品用途的信息)。写出CClothes类和CFood类的完整定义(包括构造、析构和usedFor()成员函数的实现)。(10分)二、下面的程序是关于CComplex类的一个定义,试改正程序中出现的5处错误。(共10分)#include class CComplexprivate:double real = 0.0, image;public:CComplex(double a=0.0, double b=0.0) real = a; image = b; static double getReal() const

9、return real; int getImage() const return image; CComplex & operator + (const CComplex &r_x, const CComplex &r_y);CComplex & operator + (const CComplex &r_x, const CComplex &r_y) CComplex temp; temp.real = r_x.real + r_y.image; temp.real = r_x.real + r_y.image; return temp;void main()CComplex a(3.0,

10、4.0), b(5.0), c; c = a + b; cout c.getReal(); cout c.getImage();错误为:第5行,real=0.0,改为real, 第8行,static double getReal()改为double getReal() 第9行,int getImage()改为double getImage() 第10行,CComplex & operator+改为friend CComplex operator+ 第12行,CComplex & operator+改为CComplex operator+三、根据如下所示程序,回答下列问题(共10分)#inclu

11、de class CBookprotected: static int count;public:CBook() count+; cout “Book constructor called ” count endl; virtual void order() = 0;void read() cout “Read book” endl; virtual CBook() cout “Book destructor called ” count endl; count-; static int getCount() return count; ;int CBook:count = 0;class C

12、TextBook : public CBookpublic:CTextBook() cout “Textbook constructor called ” count endl; void order() cout “Order textbook” endl; void read() cout “Read textbook” endl; CTextBook() cout “Textbook destructor called ” count endl; ;void main()CTextBook oop;CBook *p_book;oop.order();oop.read();cout CTe

13、xtBook:getCount() endl;/ p_book = new CTextBook;cout CTextBook:getCount() order();p_book-read();delete p_book;cout CTextBook:getCount() endl;1当程序运行到处时,写出程序运行的输出结果 (3分)2 当程序结束时,程序会在第1问的基础上增加哪些输出。 (5分)3 若在主函数中定义一个对象CBook book;程序编译时会否出错?为什么?(2分)四、编程题(共40分)1. 定义一个课程类CCourse,其中包含课程号(long no)、课程学分(float c

14、redit)两个数据成员,以及相应的构造函数和打印数据成员的成员函数print()。(8分)2. 为CCourse类增加一个课程总数(int total_course)数据成员,并增加一个成员函数getTotalCourse()获取total_course的值,编写一个友元函数getCourseNo()获取课程号no。做如上修改后,重新实现CCourse类(与第1问相同的不用再重复,注意说明数据成员和成员函数的存储类型,以便能够用类名来调用getTotalCourse())。(10分)3. 为CCourse类定义小于运算符()运算符重载函数。CCourse类对象大小的比较是根据其课程学分(credit)的值的大小来实现的。(与第2问相同的不用再重复)(5分)4. 以CCourse类为基类,派生出面向对象程序设计课程类COOP,并在该类中增加一个表示开课单位的指针数据成员(char *p_openby)和根据学生学号判断能否选课的成员函数bool select(const char *p_xh)(只有学号前4位为2006的学生可选面向对象程序设计课程)。写出COOP类的完整定义(包括构造、拷贝构造、赋值运算符重载、析构和select()成员函数的实现)。(17分)专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁