2009年电子商务复习题.doc_第1页
2009年电子商务复习题.doc_第2页
2009年电子商务复习题.doc_第3页
2009年电子商务复习题.doc_第4页
2009年电子商务复习题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

2009年电子商务复习题1 缺省的析构函数的函数体是A 不存在的B 随机产生的C 空的D 无法确定的C2 以下说法中正确的是A 一个类只能定义一个构造函数,但可以定义多个析构函数B 一个类只能定义一个析构函数,但可以定义多个构造函数C 构造函数与析构函数同名,只是名字前加了一个波浪号()D 构造函数可以指定返回类型;而析构函数不能指定任何返回类型,即使是void类型也不可以B3 不能在C+中提供封装的关键字是A classB structC typeD unionC4 说明友元函数使用关键字A friendB staticC constD volatileA5 指向类X中类型为type的数据成员的指针的说明形式为A type X:*pointerB X:type *pointerC Type *X:pointerD X:*type pointerA6 形如X:X(X&)的构造函数称为A 拷贝函数B 复制函数C 初始化构造函数D 拷贝初始化构造函数D7 定义的内容允许被其它对象无限制地存取的是A private部分B protected部分C public部分D 以上都不对C8 析构函数不用于A 在对象创建时执行一些清理任务B 在对象消失时执行一些清理任务C 释放由构造函数分配的内存D 在对象的生存期结束时被自动调用A9 关于下面程序段,说法正确的是class Aprivate: int n;public: A(A&);A:A(A&a)n=a.n;A. A obj2(obj1);用对象obj1初始化具有相同类类型的对象obj2B. A obj2(obj1);用对象obj2初始化具有相同类类型的对象obj1C. A(A&a)也可以不使用引用参数而仍然是复制初始化构造函数D. A(A&a)不能访问对象的私有成员A10 下列说法中正确的是A 运算符new用于建立生存期可控的对象B new建立动态对象的语法完全不同于建立动态变量的情况C 使用new建立的动态对象不用时必须调用析构函数删除D new和构造函数不能同时使用A11 如果没有使用关键字,则所有成员A 都是public权限B 都是protected权限C 都是private权限D 权限情况不确定C12 关于下面程序段,说法正确的是class Locationpublic: int GetX();class Rectangle: private Locationpublic: int GetW();A 类Rectangle私有派生类LocationB 类Rectangle中的public成员在类Location中是私有的C 类Location中的public成员在类Rectangle中是不可访问的D void f()Rectangle r;int X=r.GetX();其中X=r.GetX();是非法语句D13 运算符A 只能用类运算符重载B 只能用友元运算符重载C 可以用类运算符或友元运算符重载D 不能重载A14 友元关系不具有_,即当说明类A是类B的友元时,类B不一定是类A的友元。交换性15 new和_一同起作用,delete与_一起工作。构造函数析构函数16 在类中说明的任何成员都不能用_、_和_关键字进行修饰。extern autoregist17 构造函数是和_同名的函数,但要在后者的名字之前冠有一个_,以区别于前者。析构函数波浪号 18 用关键字static修饰的成员称为_。静态成员19 已知AA是一个类,则AA *a2;声明了一个_数组。类对象指针20 拷贝初始化构造函数用对它所在类的_作为参数。引用21 友元在_中说明,其名字的作用域在_。类类外22 不带参数的构造函数又称为_。缺省构造函数23 建立指向类A的无参数、无返回值的成员函数的指针p的语句是_。void(A:*p)(void);24 在类定义中,在关键字protected之后说明的成员称_。保护成员25 在_部分定义的内容允许被其它对象无限制地存取。public26 构造函数(包括析构函数)是_继承的,所以,一个派生类只能调用它的_基类的构造函数。不能直接27 指出下面程序段中的错误,并说明出错原因。/str1.h#include #include class strprivate:char *string;public:str(char* s)string=new charstrlen(s)+1;strcpy(string,s);str()cout”Delete”endl;delete string;void print()coutstringendl;#include “str1.h”void main()str s1=”student”;str s2=s1;s1.print();s2.print();指针悬挂问题28 指出下面程序段中的错误,并说明出错原因。class Locationpublic:void init(int initX,int initY);private:int X=1;public:int getX();private:int y;不能采用这种方式初始化29 指出下面程序段中的错误,并说明出错原因。class Testprivate: int num;protected: int p;void fun()Test m;int x=m.p;类之外定义的函数不能访问类的保护成员30 指出下面程序段中的错误,并改正。class testint x;test *ptr=new test2;delete ptr;应为:delete ptr;31 指出下列程序段中的错误,并改正。class Bbprivate:int n;float f;public:Bb(int n1,float f1)n=n1;f=f1;Bb(Bb b)n=b.n;f=b.f;应为:Bb(Bb &b)n=b.n;f=b.f;32 指出下面程序段中的错误,并改正。class testpublic: static int x;int test.x=10;应为:int test:x=10;33 指出下列程序段中的错误,并说明出错的原因。class testprivate: int num;public: test();test(int n);test:test()num=0;test:test(int n)num=n;void main()test x;test y(2,3);test arr2=2,3;没有定义两个参数的构造函数34 指出下面程序段中的错误,并改正。class AAprivate: int a;public: AA(int i)a=i;class BB: public AAprivate: int b;public: BB(int i,int j);BB:BB(int i,int j):AA(j)b=i;Void main()BB b(3,6):AA(6);应为:BB b(3,6);35 指出下面程序段中的错误,并改正。class numberprivate: int num;public: number(int i)num=i;int +operator();int number:+operator()num+;return num;int operator+();int number:operator+();36 在下面横线处填上适当字句,完成类的定义。class Tpublic: void init(int initx)x=initx;int getx()_;/取x值private: _;return xint x37 在下面横线处填上适当字句,完成类中成员函数的定义。class ABCint n;float f;public: ABC(int,float);ABC(ABC&);ABC:ABC(_)n=num;f=f1;ABC:ABC(ABC&t)n=_;f=t.f;int num,float f1t.n38 在下面横线处填上适当字句,完成类中成员函数的定义。class Aprivate: int x;float y;public: A (int aa,float b)x=_;/用aa初始化xy=_;/用b初始化y;aab39 在下面横线处填上适当字句,使其输出结果为25,10。#include class Locationint X,Y;public: _;int GetX()return X;int GetY()return Y;void Location:init(int k,int t)(X=k;Y=t;)void main()Location a;a.init(25,10);_;/输出对象a的数据成员X和Y的值。void init(int k, int t)couta.GetX()”,”a.GetY()40 在下面横线处填上适当字句,使程序输出结果为:x=10,y=5x=5,y=10Delete x=5,y=10Delete x=10,y=5#include class ttprivate: int x,y;public: tt(int a, int b)x=a; y=b;_;tt() _;void main()tt arr2=tt(10,5),tt(5,10);cout”x=”x”,y=yendlcout”Delete x=”x”,y=”yendl41 在下面横线处填上适当字句,使程序完整。class baseint a;public: base(int i)a=I;class derived: public base int d;public: derived(int I,int j);_(int I, int j): base(i)d=j;void main()derived d(_);/将基类成员初始化为3,派生类成员初始化为5derived:derived3,542 下面是类complex(复数)的定义,其中重载的运算符以复数形式输出结果,如将实部为3虚部为2的复数输出为3+2i。在横线处填上适当字句。class complexprivate: float Re,Im;/Re是实部,Im是虚部public: complex(float r=0,float i=0)Re=r;Im=i;friend ostream& operator(ostream &s,complex e)_;return _;sc.Re”+”c.Im”i”s43 在下面横线处填上适当字句,完成类中转换函数的定义。class numberprivate: int val;public: number(int i)val=i;operator_ ()_;void main()number n(10),m(15);int i=n;int j=m;/i=10,j=15intreturn val44 以下是实现描述复数的类complex重载运算符+的程序段,在下面横线处填上适当字句。class complexpublic: int real,imag;complex(int r=0,int i=0)real=r, imag=i;_operator+(complex &a, complex &b)int r=a.real+b.real;int i=a.imag+b.imag;return _;complexcomplex(r,i)46#include void main()int *p,i,j;cinj;/输入4p=new intj;if(!p)cout”Allocation errorn”;for(i=0;ij;i+)pi=i;for(i=0;ij;i+)coutpi“ “;coutendl;delete p;输出为:4(这是输入的数据)012347#include void addsub(int&,int&);void main()int a=10,b=15;addsub(a,b);cout”a=”a”,b=”b;void addsub(int &m,int &n)int temp=m;m=m*n;n=temp-n;输出为:a=150,b=-548 #include void main()int a22=2,4,6,8;int *pa2;pa0=a0;pa1=a1;for(i=0;i2;i+)for(j=0;j2;j+,pai+)cout“a”i“ ”j“=”*paiendl;输出为:a00=2a01=4a10=6a11=849 #include #include main()couthex20endl;coutoct10endl;coutsetfill(x)setw(10);cout100”aa”endl;return 0;输出为:1412xxxxxxx144aa50 class testprivate: int num;public: test();int get()return num;test();test:test()num=0;test:test()cout”Des

温馨提示

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

评论

0/150

提交评论