试题样例-hhy.doc_第1页
试题样例-hhy.doc_第2页
试题样例-hhy.doc_第3页
试题样例-hhy.doc_第4页
试题样例-hhy.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 看程序,输出程序执行结果;3040分,题目类型如下:一、第4章:考核变量存储特性:变量生存期、作用域;#include using namespace std;void other();int i=1;main() static int a; register int b=-10; int c=0; cout-MAIN-n; couti:i a:a b:b c:c endl; c=c+8; other(); cout-MAIN-n; couti:i a:a b:b c:c endl; i=i+10; other();return 0;void other() static int a=2; static int b; int c=10; a=a+2; i=i+32; c=c+5; cout-OTHER-n; couti:i a:a b:b c:c endl; b=a;二、第4/9章联合考题:考核静态变量的初始化时机、次序;构造函数的调用时机、次序。#include #include using namespace std;class CDemopublic:CDemo(const char * str = default);CDemo(const CDemo& obj);CDemo();const char * getname() const return name;private:char name30;CDemo:CDemo(const char * str)strcpy(name,str);coutConstructor call for nameendl;CDemo:CDemo(const CDemo& obj)strcpy(name,copy);strcpy(name+4,obj.getname();coutCopy Constructor call for nameendl;CDemo:CDemo()coutDestructor call for nameendl;CDemo func(CDemo CDemoObect)CDemo local(localInFunc);static CDemo staticobj(localStaticObj);cout Inside func endl;return local;class DriveFromCDemoprivate:static CDemo staticInobj ;public :static void get()static CDemo staicINObjsFun = CDemo(staicINObjsFun);CDemo DriveFromCDemo:staticInobj = CDemo(staticInobj);static CDemo staticGlo(GlobalStaticObject);CDemo globalobject(GlobalObject);int main()CDemo localInMain(LocalObjectInMian);CDemo localInMain2 = localInMain;cout In main, before funcendl;func(localInMain);cout after calling func n;DriveFromCDemo:get();return 0;三、第9、11章 考核构造函数初始化相关知识点:如果是不确定值整数,输出-1代替表示它;#include using namespace std;class fatherpublic:father()i = 10000;cout 构造 father endl; /显式定义father(const father& a)cout拷贝构造 fatherendl;/显式定义father()cout析构 fatherendl;void output()coutfather:iendl;private:int i ;class father2public:father2()cout 构造 father2 endl; father2()cout析构 father2endl;void output2()coutfather2:iendl;private:int i ;class son: public father,father2private:father2 f2;father f1; int s1;int s2;public:son(int a):father2(),father(),s2(a),s1(s2)cout构造sonendl;son()cout析构sonendl;void outputson()output();output2();f2.output2();f1.output();couts1endls2endl;四、,第6章,考核知识点函数参数传递#include using namespace std;swap(int x,int y) int temp; temp=x; x=y; y=temp;main() int a,b;a=5;b=9; if(ab) swap(a,b); coutendlaendlbendl;运行结果:#include using namespace std;void swap(int *p1, int* p2)int *temp ;temp = p1;p1 = p2;p2 = temp;main()int a,b;a=5;b=9;swap(&a,&b);coutaendlbendl;运行结果:#include using namespace std;void swap(int *p1, int* p2)int temp ;temp = *p1;*p1 = *p2;*p2 = temp;main()int a,b;a=5;b=9;swap(&a,&b);coutaendlbendl;运行结果:#include using namespace std;swap(int & x,int &y) int temp; temp=x; x=y; y=temp;main() int a,b;a=5;b=9; if(ab) swap(a,b); coutendlaendlbendl;运行结果:五、第11、12章 。考核知识点,函数多态和重载、虚函数重载,改写(覆盖),隐藏 ,例子成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。隐藏是指与基类成员同名的派生类成员隐藏了对基类成员的直接访问,为了访问必须使用类域操作符进行限定。(1)不同的范围(分别位于派生类与基类);(2)名字相同;(3)不满足覆盖条件 #include class Base public:virtual void fun(int x=10)coutbasexendl;Virtual void funyin(int )coutbaseendl;class Derive :public Basepublic:void fun(int x=20)coutDerivexendl;void funyin(float )coutderivefun(); / 调用/Derive:fun ?pd-fun(); / 调用/Derive:fun ?pb-funyin(0); /调用/Derive:funyin ?pd-funyin(0); /调用/Derive:funyin ?/输出结果为?l 当成员函数是虚拟的时候,通过一个对象(指针或引用)而调用的是该对象的动态类型中被定义的成员函数。一个类对象的静态与动态类型一致。指针、引用的动态类型跟指向对象或引用对象动态变化一致class A public : int x;virtual void fun (int m_x) x = m_x;A(int y) fun (y);class B : public A public:B(int m_x): A(m_x) ;void fun (int m_x) x *= m_x;Void main() B b (4);cout b.x endl; /输出值是多少?为什么?构造函数里调用虚函数和析构里面调用虚函数的语义。2、 编程题 30分左右一、 链表的实现 :考核知识点,第7章 结构体和 动态对象管理。程序示例如下:二、三、 对给定的一些代码,补充给出合适的复制构造函数、赋值操作符合重载函数和 操作符合重载的实现。(赋值实现注意 x = x ; 的可行)四、 一个简单模板类的实现和应用代码。五、 待补充3、 问答题 : 30分左右一、 找出下面代码存在的问题,并添加代码修改正确。My.h头文件的内容为:Int x ;My2.h头文件的内容为:#include “my.h”int y;My3.h头文件的内容为:#include “my.h”#include “my2.h”考核知识点: 文件重复包含以及解决手段。二、 下面的程序那行会出现编译错误:试指出并说明错误原因。考核知识点:类声明与定义、内联;class OutClass; class Testpublic:Test f(Test t); /ok?Test *fp(Test *p);/ok?Test * tp;/ok?Test t; /ok?OutClass *po; /ok?OutClass mo; /ok?OutClass fo(OutClass);/ok?inline OutClass* ifop(OutClass* );/ok?inline OutClass* ifo(OutClass );/ok?inline OutClass ifo(OutClass* );/ok?inline OutClass ifo(OutClass );/ok?;三、 问运行Test函数会有什么样的结果?简要说明使用指针需要注意的问题void GetMemory(char *p)p = (char *)malloc(100);void Test(void) char *str = NULL;GetMemory(str);/执行完该语句后 str值是多少?strcpy(str, hello world);考核知识点:指针的使用注意事项;地址参数的传递。四、 考核知识点:不要返回局部对象的地址下面程序存在那些问题,试指出并说明原因。int * f()int x =9;return &x;int * f2()static int x = 10;return &x;int main()f();f2();简要说明指针和引用的主要作用,指出一定要使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论