当前位置:文档之家› C++面向对象程序设计模拟试题一

C++面向对象程序设计模拟试题一

C++面向对象程序设计模拟试题一
C++面向对象程序设计模拟试题一

C++面向对象程序设计模拟试题一

一、单项选择题

1.说明虚函数的关键字是(B )。

A. inline

B. virtual

C. define

D. static

2.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(A )。

A. main

B. MAIN

C. name

D. function

3.cout是某个类的标准对象的引用,该类是(A )。

A. ostream

B. istream

C. stdout

D. stdin

4.如果在类外有函数调用CPoint::func();则函数func()是类CPoint的(C )。

A. 私有静态成员函数

B. 公有非静态成员函数

C. 公有静态成员函数

D. 友元函数

5. 如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为(C )。

A. public

B. protected

C. private D.static

6.一个类的所有对象共享的是(D )。

A. 私有数据成员

B. 公有数据成员

C. 保护数据成员

D. 静态数据成员7.动态联编所支持的多态性称为(D )。

A. 虚函数

B. 继承

C. 编译时多态性

D. 运行时多态性8.定义类模板时要使用关键字(D )。

A. const

B. new

C. delete

D. template

9.对虚基类的定义(A )。

A. 不需要使用虚函数

B. 必须使用虚函数

C. 必须使用private

D. 必须使用public

10.类型转换函数(A )。

A. 不能带有参数

B. 只能带一个参数

C. 只能带2个参数

D. 只能带3个参数

二、判断正误题

1.虚函数在基类和派生类之间定义,且要求函数原型完全一致。Y ()2.抽象类可以用来直接创建对象。N ()

3.内联函数中可以出现递归语句。N ()4.模板类与类模板的意义完全相同。N ()5.常对象只能调用常成员函数。Y ()6.重载函数要求函数有相同的函数名,但具有不同的参数序列。Y ()

三、填空题(本大题共6小题,每小题2分,共12分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。

1.在用C++进行程序设计时,最好用(new )代替malloc。

2.函数模板中紧随template之后尖括号内的类型参数都要寇以保留字(class\\typename )。3.编译时多态性可以用( 重载)函数实现。4.拷贝构造函数用它所在类的(对象)作为参数。5.用关键字static修饰的类的成员称为( 静态)成员。6.重载运算符“+”的

函数名为(operator+ )。

四、程序分析题(本大题共4小题,每小题5分,共20分)给出下面各程序的输出结果。

1.阅读下面程序,写出输出结果。

#include

using namespace std;

class CArray

{

public:

CArray(int iArray[], int iSize):m_pArray(iArray), m_iSize(iSize)

{

}

int GetSize()

{

return m_iSize;

}

int &operator[](int iIndex)

{

return m_pArray[iIndex - 1];

}

private:

int *m_pArray; // 指向一个数组空间

int m_iSize; // 数组元素个数

};

int main()

{

int s[]={3, 7, 2, 1, 5};

CArray oArray(s, 5);

oArray[1] = 9;

for (int i = 1; i <= 5; i++)

{

cout << oArray[i] << " ";

}

cout << endl;

return 0;

}

上面程序的输出结果为:

1.参考答案:9 7 2 1 5

2.阅读下面程序,写出输出结果。#include

using namespace std;

template

void Print(Type a[], int n)

{

for (int i = 0; i < n; i++)

{

cout << a[i] << " ";

}

}

int main()

{

int a[] = { 5, 6, 8};

double b[] = {6.8, 9.6};

Print(a, sizeof(a) / sizeof(int));

Print(b, 2);

cout << endl;

return 0;

}

上面程序的输出结果为:

2.参考答案:5 6 8 6.8 9.6

3.阅读下面程序,写出输出结果。#include

using namespace std;

class CTest

{

public:

CTest(int iVar):m_iVar(iVar)

{

m_iCount++;

}

~CTest()

{

}

void Print() const;

static int GetCount()

{

return m_iCount;

}

private:

int m_iVar;

static int m_iCount;

};

int CTest::m_iCount = 0;

void CTest::Print() const

{

cout << this->m_iVar << " " << this->m_iCount << " "; }

int main()

{

CTest oTest1(6);

oTest1.Print();

CTest oTest2(8);

oTest2.Print();

cout << CTest::GetCount();

cout << endl;

return 0;

}

上面程序的输出结果为:

3.参考答案:6 1 8 2 2

4.阅读下面程序,写出输出结果。

#include

using namespace std;

class CTest

{

public:

CTest(int iX = 0, int iY = 0, int iZ = 0):m_iZ(iZ)

{

m_iX = iX;

m_iY = iY;

}

void Print()

{

cout << m_iX << endl;

cout << m_iY << endl;

}

void Print() const

{

cout << m_iZ << endl;

}

private:

int m_iX, m_iY;

const int m_iZ;

};

int main()

{

CTest oTest1;

oTest1.Print();

CTest oTest2(1, 6, 8);

oTest2.Print();

const CTest oTest3(6, 0, 18);

oTest3.Print();

cout << endl;

return 0;

}

上面程序的输出结果为:4.参考答案:

1

6

18

五、程序改错题(本大题共4小题,每小题5分,共20分)指出下面程序中的错误,说明错误原因,并加以改正。

1.下面程序中类的定义中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include //1 using namespace std; //2

//3 class CTest //4 { //5 public: //6 CTest(int iVar = 0):m_iArr(iVar) //7

{ //8 cout << "构造函数:" << m_iArr << endl; //9 } //10

//11 void ~CTest() //12 { //13 cout << "析造函数:" << m_iArr << endl; //14 } //15

//16 private: //17 int m_iArr; //18 }; //19

//20

//21

int main() //22 { //23 CTest oTest1, oTest2(8); //24 cout << endl; //25

//26 return 0; //27

} //28 1.参考答案:

出错行:第12行

原因:析造函数不能有返回值类型

改正:去掉void

2.下面程序中类的定义中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include //1 using namespace std; //2

//3 class CTest //4 { //5 public: //6

CTest(int iA = 0, int iB):m_iA(iA), m_iB(iB) //7 { //8 } //9

//10 void Show() //11 { //12 cout << m_iA << "," << m_iB << endl; //13 } //14

//15 private: //16 int m_iA, m_iB; //17 }; //18

//19

//20 int main() //21 { //22 CTest oTest(12, 16); //23 oTest.Show(); //24 cout << endl; //25

//26 return 0; //27 } //28 2.参考答案:

出错行:第7行

原因:带缺省值的参数应放在参数表的尾部,其后不允许出现不带缺省值的参数

改正:

CTest(int iA = 0, int iB = 0):m_iA(iA), m_iB(iB) //7

CTest(int iA , int iB = 0):m_iA(iA), m_iB(iB) //7

CTest(int iA , int iB):m_iA(iA), m_iB(iB) //7 3.下面程序中类的定义中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include //1 using namespace std; //2

//3 class CTest //4 { //5 public: //6 CTest(int iVar = 0) //7 { //8 m_iVar = iVar //9 } //10

//11 void Print() const //12

{ //13 cout << m_iVar<< endl; //14 } //15

//16 private: //17 const int m_iVar; //18 }; //19

//20

//21 int main() //22 { //23 const CTest oTest(16); //24 oTest.Print(); //25 cout << endl; //26

//27 return 0; //28 } //29 3.参考答案:

出错行:第9行

原因:常数据成员只能通过初始化表方式进行初始化。

改正:去掉第9行,在第7行后加初始化表,即第9行改为:

CTest(int iVar = 0):m_iVar(iVar)

4.下面程序中有一处错误,请指出出错的行,说明错误原因,并加以改正。

#include //1 using namespace std; //2

//3 class CBase //4 { //5 public: //6 CBase(int iBase = 0):m_iBase(iBase) //7 { //8 } //10

//11 virtual void Show() = 0; //12

//13 int Get() const //14 { //15 return m_iBase; //16 } //17

//18 private: //19 int m_iBase; //20 }; //21

//22

class CDerive:public CBase //23 { //24 public: //25 CDerive(int iBase = 0, int iDerive = 0):CBase(iBase) //26 { //27 m_iDerive = iDerive; //28 } //29

//30 void Show() //31 { //32 cout << CBase::Get() << "," << m_iDerive << endl; //33 } //34

//35 private: //36 int m_iDerive; //37 }; //38

//39 int main() //40 { //41 CBase obj(10); //42 obj.Show(); //43 return 0; //44 } //45 4.参考答案:

出错行:第42行

原因:抽象类不能用来直接创建对象。

改正:将第42行改为:

CDerive obj(10); //42 六、编程题(本大题共2个小题,每小题8分,共16分)

1.编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。

函数模板声明如下:

template

Type Abs(Type tVar)

参考程序:

#include

using namespace std;

template

Type Abs(Type tVar)

{

if (tVar >= 0) return tVar;

else return -tVar;

}

int main()

{

cout << Abs(5) << endl;

cout << Abs(-5) << endl;

cout << Abs(2.5) << endl;

cout << Abs(-2.5) << endl;

return 0;

}

2.定义一个复数类CComplex,定义带有2个参数(其中一个为缺省参数)的构造函数,显示复数值的函数Show(),重载“+”运算符(用成员函数实现),并编写测试程序进行测试。

参考程序:

#include

using namespace std;

class CComplex

{

public:

CComplex(double dReal, double dImage = 0)

{

m_dReal = dReal;

m_dImage = dImage;

}

void Show()

{

cout << m_dReal;

if (m_dImage > 0)

{

cout << "+" << m_dImage << "i" << endl;

}

else if(m_dImage < 0)

{

cout << "-" << -m_dImage << "i" << endl;

}

}

CComplex operator+(const CComplex &obj)

{

CComplex objTemp(m_dReal + obj.m_dReal, m_dImage + obj.m_dImage);

return objTemp;

}

private:

double m_dReal, m_dImage;

};

int main()

{

CComplex obj1(2, 6), obj2(3, 8), obj3(0);

obj1.Show();

obj2.Show();

obj3.Show();

obj3 = obj1 + obj2;

obj3.Show();

return 0;

}

《面向对象程序设计C 》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(B) 一、单项选择题(每小题2分,共40分) 1、关于C++与C语言关系的描述中,()是错误的。 A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的 C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的 2、已知:int m=10; 下列表示引用的方法中,()是正确的。 A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m; 3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是()。 A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。 A.函数的返回值类型B.参数的类型C.函数名称D.参数个数 5、下列有关C++类的说法中,不正确的是()。 A.类是一种用户自定义的数据类型 B.只有类中的成员函数或类的友元函数才能存取类中的私有成员 C.在类中,如果不做特别说明,所有成员的访问权限均为私有的 D.在类中,如果不做特别说明,所有成员的访问权限均为公用的 6、已知X类,则当程序执行到语句X array[3];时,调用了()次构造函数。 A.0 B.1 C.2 D.3 7、有关析构函数的说法,不正确的是()。 A.析构函数有且仅有一个 B.析构函数和构造函数一样可以有形参 C.析构函数的功能是在系统释放对象之前作一些内存清理工作 D.析构函数无任何函数类型

c面向对象程序设计试题和答案(经典题目)

一、填空题(每空1分,共14分) 1、观看以下程序: class point{ public: void show() {cout<<”point”<

(A)指针(B)引用(C)枚举(D)结构 3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。 (A)share (B)public (C)private (D)protected 4、关于构造函数,下列说法不正确的是()。 (A)构造函数名字和类名相同 (B)构造函数在创建对象时自动执行 (C)构造函数无任何函数返回类型 (D)构造函数有且只有一个 5、派生类可以访问其基类的()。 (A)公有成员(B)保护成员 (C)私有派生(D)公有和保护成员 6、下列关于运算符重载的描述中,错误的是()。 (A)运算符重载不可以改变操作数的个数 (B)运算符重载不可以改变运算符的功能 (C)运算符重载不可以改变结合方向 (D)运算符重载不可以改变运算优先级 7、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是() (A)面向过程(B)面向对象(C)安全性(D)复用性 8、对于类中定义的成员,其隐含访问权限为()。 A.public B.protected C.private D.static 9、下面有关重载函数的说法中正确的是() (A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同; (C)重载函数必须有不同的形参列表(D)重载函数名可以不同; 10、有如下的对类“CSample”的说明,其中()是错误的。 class CSample { A.int a=23; B.CSample(); public: C.CSample(int val); D.~ CSample(); 11、在int a=3,int *p=&a;中,*p的值是( ) A.变量a的地址值 B.无意义 C.变量p的地址值 D.3 12、每个类()构造函数。 (A)只能有一个(B)只可有公有的

财经法规全真模拟试题3(含答案及详细解析)

财经法规全真模拟试题3(含答案及详细解析) 第 1题:单选题(本题1分) 下列关于商业汇票提示付款的表述中,正确的是( ) A.定日付款的汇票自到期日起10日内向承兑人提示付款 B.见票即付的汇票,自出票日起7日内向付款人提示付款 C.出票后定期付款的汇票自到期日起20日内向承兑人提示付款 D.见票后定期付款的汇票自到期日起30日内向承兑人提示付款 【正确答案】:A 【答案解析】: 定日付款、出票后定期付款或者见票后定期付款的汇票,自到期日起10日内向承兑人提示付款。 第 2题:单选题(本题1分) 开户银行根据开户单位( )天的日常零星开支所需要的现金,核定开户单位的库存现金限额。 A.1~3 B.3~5 C.5~7 D.7~9 【正确答案】:B 【答案解析】: 开户银行根据开户单位3~5天的日常零星开支所需要的现金,核定开户单位的库存现金限额。 第 3题:单选题(本题1分) 委托加工的一般应税消费品,没有同类消费品销售价格的,按组成计税价格计算纳税,其组成计税价格等于( ) A.(材料成本+加工费)/(1+消费税税率) B.(材料成本+加工费)/(1-消费税税率) C.(材料成本+加工费)/(1+增值税税率) D.(材料成本+加工费)/(1-增值税税率) 【正确答案】:B 【答案解析】: 委托加工的一般应税消费品,没有同类消费品销售价格的,按组成计税价格计算纳税,其组成计税价格等于(材料成本+加工费)/(1-消费税税率)。

第 4题:单选题(本题1分) 某公司为获得一项工程合同,拟向工程发包方的有关人员支付好处费8万元,公司市场部人员持公司领导的批示到财务部领取该笔款项。财务部经理谢某认为该项支出不符合规定,但考虑到公司主要领导已做了批示,遂同意拨付了该笔款项。下列对于谢某做法的认定中,正确的是( ) A.谢某违反了爱岗敬业的会计职业道德规范的要求 B.谢某违反了参与管理的会计职业道德规范的要求 C.谢某违反了廉洁自律的会计职业道德规范的要求 D.谢某违反了坚持准则的会计职业道德规范的要求 【正确答案】:D 【答案解析】: 坚持准则要求会计人员:熟悉准则、遵循准则、敢于同违法行为作斗争,谢某按照领导的批示做了相关处理明显违反了坚持准则要求。 第 5题:单选题(本题1分) 填写票据和结算凭证时下列中文大写不正确的是( ) A.¥1 508.50,应写成人民币壹仟伍佰零捌元伍角 B.¥225.04,应写成人民币贰佰贰拾伍元零肆分 C.¥206 000.73,应写成人民币贰拾万陆仟元零零零柒角叁分 D.¥3 009.24,应写成人民币叁仟零玖元贰角肆分 【正确答案】:C 【答案解析】: 阿拉伯数字万位或元位是“0”,或者数字中间连续有几个“0”,万位、元位也是“0”,但千位、角位不是“0”时,中文大写金额中可以只写一个“零”字,也可以不写零字。 ¥206 000.73,应写成人民币贰拾万陆仟元零柒角叁分或人民币贰拾万陆仟元柒角叁分。 第 6题:单选题(本题1分) 根据有关规定,会计人员因故离职时应与接替人员办理工作交接手续。下列选项中,表述正确的是( ) A.会计人员调动工作或因故离职,未办清交接手续的,不得调动或离职 B.一般会计人员办理交接手续,由单位负责人负责监交 C.交接工作结束后,接替人员应当另立账册记账,以便分清各自职责 D.交接工作结束后,原会计人员与接替人员双方应在移交清册上签章 【正确答案】:A 【答案解析】: 根据有关规定,会计人员工作调动或者因故离职,必须将本人所经管的会计工作全部移交给接替人员。没有办清交接手续的,不得调动或者离职。交接工作结束后,原会计人员与接替人员以及监交人员都应在移交清册上签章。

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

中考数学全真模拟试题3

年中考数学全真模拟试题(三) 班级 姓名 得分 一、 填空题(每空2分,共40分) 1、的相反数是 ;-2的倒数是 ; 16的算术平方根是 ;-8的立方根是 。 2、不等式组的解集是 。 3、函数y= 自变量x 的取值范围是 。 4、直线y=3x-2一定过(0,-2)和( ,0)两点。 5、样本5,4,3,2,1的方差是 ;标准差是 ;中位数是 。 6、等腰三角形的一个角为,则底角为 。 7、梯形的高为4厘米,中位线长为5厘米,则梯形的面积为 平方厘米。 8、如图PA 切⊙O 于点A ,PAB=,AOB= ,ACB= 。 9、 如图PA 切⊙O 于A 割线PBC 过圆心,交⊙O 于B 、C ,若PA=6;PB=3,则PC= ;⊙O 的半径为 。 10、如图ABC 中,C=,点D 在BC 上,BD=6,AD=BC ,cos ADC= ,则DC 的长为 。 11、如图同心圆,大⊙O 的弦AB 切小⊙O 于P ,且AB=6,则阴影部分既圆环的面积为 。 12、已知Rt ABC 的两直角边AC 、BC 分别是一元二次方程的两根,则此Rt 的外接圆的面 积为 。 二、 选择题(每题4分,共20分) 13、如果方程有两个同号的实数根,m 的取值范围是 ( ) A 、m <1 B 、0<m ≤1 C 、0≤m <1 D 、m >0 14、徐工集团某机械制造厂制造某种产品,原来每件产品的成本是100元,由于提高生产技术,所以连续两次降低成本,两次降低后的成本是81元。则平均每次降低成本的百分率是 ( ) A .8.5% B. 9% C. 9.5% D. 10% 15、二次函数的图像如图所示,则关于此二次函数的下列四个结论①a<0 ②a>0 ③ 2 1 - ?? ?-+2 80 4<>x x 1 1-x ?30∠?30∠∠ 10题图 9题图 A C D B 8题图 A 11题图 B ?∠?90∠5 3 ?06x 5-x 2 =+?0m x 2x 2 =++c bx ax y 2 ++=

《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境 一、实验目的 1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。 2、掌握如何编辑、编译、连接和运行一个C++程序。 3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。 二、实验要求 1、分析下列程序运行的结果。 程序一: #include int add(int x,int y=8); void main() { int x=4; cout< void main() { int *p,i; i=5; p=&i; i=*p+10; cout<<"i="< void main(void) { int i=10; int &r=i; r++; cout<<"i="< void func(); int n=1; void main() { static int a; int b= -9; cout <<"a:"<

面向对象程序设计C自学考试课程复习题

(07837)《面向对象程序设计C++》复习题 一、单选题 1.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( D ) A. 公有类型 B. 私有类型 C. 保护类型 D. 友元类型 2.下列关于多态性的描述,错误的是( C ) A. C++语言的多态性分为编译时的多态性和运行时的多态性 B. 编译时的多态性可通过函数重载实现 C. 运行时的多态性可通过模板和虚函数实现 D. 实现运行时多态性的机制称为动态绑定 3.在C++语言中,数据封装要解决的问题是( D ) A. 数据的规范化 B. 便于数据转换 C. 避免数据丢失 D. 防止不同模块之间数据的非法访问 4.使用private修饰的成员变量,以下说法正确的是( A ) A. 只能由本类中的函数使用,不能被外面的程序所访问。 B. 可以由本类中的函数使用,也可以被外面的程序所访问。 C. 只能由本类和派生类中的函数使用。 D. 可以在主函数中使用。 5.对类的构造函数和析构函数描述正确的是( A ) A. 构造函数可以重载,析构函数不能重载 B. 构造函数不能重载,析构函数可以重载 C. 构造函数可以重载,析构函数也可以重载 D. 构造函数不能重载,析构函数也不能重载 6.下面对静态数据成员的描述中,正确的是( A ) A. 静态数据成员是类的所有对象共享的数据 B. 类的每个对象都有自己的静态数据成员 C. 类的不同对象有不同的静态数据成员值 D. 静态数据成员不能通过类的对象调用 7.在VC++语言类体系中,不能被派生类继承的有( B ) A. 转换函数 B. 构造函数 C. 虚函数 D. 静态成员函数 8.下面关于句柄正确的说法是( A ) A. 句柄是一个标识Windows资源和设备等对象的变量。 B. 句柄是用户程序自定义的数据类型。 C. 用户程序使用句柄时不需要定义。 D. 句柄仅仅是一个抽象的概念,程序中不能使用句柄。 9.下面关于动态链接库正确的说法是( B ) A. 动态链接库提供的函数,在编译阶段能够连接到应用程序中。 B. 动态链接库提供的函数,在运行阶段能够连接到应用程序中。 C. 动态链接库本身不能单独设计、编译和调试。 D. 动态链接库的使用使得程序缺乏灵活性。 10.下面关于MFC应用程序中InitInstance函数正确的说法是( D ) A. 该函数由用户定义。

第三套全真模拟试题 (1)

第三套全真模拟试题 一、选择题 1、[单选题]在Word的编辑状态,连续进行了两次"插入"操作,当单击二次"撤消"按钮后________。 (A)、将第一次插入的内容全部取消 (B)、将两次插入的内容全部取消 (C)、将第二次插入的内容全部取消 (D)、两次插入的内容都不被取消 2、[单选题]Windows将整个计算机显示屏幕看作是_________。 (A)、窗口 (B)、桌面 (C)、工作台 (D)、背景 3、[单选题]要在Word中建一个表格式简历表,最简单的方法是______。 (A)、用绘图工具进行绘制 (B)、在新建中选择简历向导中的表格型向导 (C)、用插入表格的方法 (D)、在“表格”菜单中选择表格自动套用格式 4、[单选题]在Windows中,打开“开始”菜单的组合键是_________。 (A)、【Alt】+【Esc】 (B)、【Shift】+【Esc】 (C)、【Alt】+【Ctrl】 (D)、【Ctrl】+【Esc】 5、[单选题]为了解决IP数字地址难以记忆的问题,引入了域服务系统______。 (A)、 PNS (B)、 MNS (C)、 DNS (D)、 SNS 6、[单选题]在Word文档中输入复杂的数学公式,执行______命令。 (A)、“插入”菜单中的对象 (B)、“格式”菜单中的样式 (C)、“表格”菜单中的公式 (D)、“插入”菜单中的数字 7、[单选题]与十六进制数AB等值的十进制数是________。 (A)、 172 (B)、 173 (C)、 170 (D)、 171 8、[单选题]下面关于工作表与工作簿的论述正确的是________。 (A)、一个工作簿的多张工作表类型相同,或同是数据表,或同是图表

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

《C面向对象程序设计》谭浩强版复习总结

第一章C++ 基础 endl 换行并刷新输出流 setw(n) 设置字段位数为n hex,oct,dec 十六进制,八进制,十进制表示 setfill 定义填充字符 setprecision 定义浮点数的精度 left,right 左对齐,右对齐 showpoint 强制显示小数点以及全部尾部0 C++通过给常量命名的方式定义常量: const<数据类型名><常量名>=<表达式> 用const定义的标识符常量时,一定要对其初始化。在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。 函数声明的一般形式为 函数类型函数名(参数表) 函数模板的定义 template 函数定义 例子:template T max(T a,T b){ return(a>b)? a:b; } 定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename或class,用逗号分隔: template

例子:template T1 max(T1 a,T2 b){ return (a>b) ? a : (T1)b; } 有默认参数的函数:实参与形参的结合是从左至右进行的,因此指定默认值的参数必须放在形参列表中的最右端 引用 定义对变量起另外一个名字(别名alias),这个名字称为该变量的引用。 <类型> &<引用变量名> = <原变量名>; 其中原变量名必须是一个已定义过的变量。如: int max ; int &refmax=max; refmax并没有重新在内存中开辟单元,只是引用max的单元。max与refmax在内存中占用同一地址,即同一地址两个名字。 对引用类型的变量,说明以下几点: 1、引用在定义的时候要初始化 2、对引用的操作就是对被引用的变量的操作。 3、引用类型变量的初始化值不能是一个常数。 4、一旦引用被声明,它就不能再指向其它的变量。 5、对引用的初始化,可以用一个变量名,也可以用另一个引用。 6、引用同变量一样有地址,可以对其地址进行操作,即将其地址赋给一指针。 当&m的前面有类型符时(如int &m),它必然是对引用的声明;如果前面无类型符(如cout<<&m),则是取变量的地址。 7、对常量(用const声明)的引用使用如下方式: int i=5; const int &a=i;

c+面向对象程序设计试题和答案题目

系名___ ___ ___ ___ 班级___ ___ ___ ___姓名___ ___ ___ ___学号___ ___ ___ ___ 密 封 线 内 不 答 题 一、填空题(每空1分,共14分) 1、观看以下程序: class point{ public: void show() {cout<<”point”<

中考语文全真模拟试题3

xx语文全真模拟试题3 (四)阅读散文,回答20~26题神奇的丝瓜作者:季羡林(1)今年春天,孩子们在房前空地上,斩草挖土,开辟出来了一个一丈见方的小花园。周围用竹竿扎了一个篱笆,移来了一棵玉兰花树,栽上了几株月季花,又在竹篱下面随意种上了几颗扁豆和两颗丝瓜。土壤并不肥沃,虽然也铺上了一层河泥,但估计不会起很大的作用,大家不过是玩玩而已。 (2)过了不久,丝瓜竟然长了出来,而且日益茁壮、长大。这当然增加了我们的兴趣。但是我们也并没有过高的期望。我自己每天早晨工作疲倦了,常到屋旁的小土山上走一走,站一站,看看墙外马路上的车水马龙和亚运会招展的彩旗,顾而乐之,只不过顺便看一看丝瓜罢了。 (3)丝瓜是普通的植物,我也并没想到会有什么神奇之处。可是忽然有一天,我发现丝瓜秧爬出了篱笆,爬上了楼墙。以后,每天看丝瓜,总比前一天向楼上爬了一大段;最后竟从一楼爬上了二楼,又从二楼爬上了三楼。说它每天长出半尺,决非夸大之词。丝瓜的秧不过像细绳一般粗,如不注意,连它的根在什么地方,都找不到。这样细的一根秧竟能在一夜之间输送这样多的水分和养料,供应前方,使得上面的叶子长得又肥又绿,爬在灰白的墙上,,一片浓绿,给土墙增添了无量活力与生机。 (4)这当然让我感到很惊奇,我的兴趣随之大大的提高。每天早晨看丝瓜成了我的主要任务,爬小山反而成为次要的了。 我往往注视着细细的瓜秧和浓绿的瓜叶,陷入沉思,想得很远、很远……(5)又过了几天,丝瓜开出了黄花。再过几天,有的黄花就变成了小小的绿色的瓜。瓜越长越长,越长越长,重量当然也越来越增加,最初长出的那一个小瓜竟把瓜秧坠下来了一点,直挺挺的悬垂在空中,随风摇摆。我真替它担心,生怕他经不住这一份重量,会整个地从楼上坠下来落到地上。 (6)然而不久就证明了,我这种担心是多余的。最初长出来的瓜不再长大,仿佛得到命令停止了生长。在上面,在三楼一位一百零二岁的老太太的窗外窗台上,却长出来两个瓜。这两个瓜后来居上,发疯似地猛长,不久就长成了小孩胳膊一般粗了。这两个瓜加起来恐怕有五六斤重,那一根细秧怎么能承

面向对象程序设计课后答案(完整版)

第二章2-4 #include using namespace std; Add(int a,int b); int main() { int x,y,sum; cout<<"please input x and y:"; cin>>x>>y; sum = add(x,y); cout < using namespace std; int main() {

int *p,*init; int countp=0; int countn=0; p = new int[20]; init = p; for(int i=0;i<20;i++) { cin>>*p; p++; } p = p-20; for( i=0;i<20;i++) { if(*p>0) countp++; if(*p<0) countn++; cout<<*p<<" "; p++; } cout<<"正数有:"< //#include using namespace std; void checkagescore(string name,int age) { if (name == "exit") throw name; if(age<0||age>50) throw age;

C面向对象程序设计教程第版陈维兴林小茶课后习题答案及解析

C++面向对象程序设计教程课后题答案 1.1 什么是面向对象程序设计? 面向对象程序设计是一种新的程序设计范型.这种范型的主要特征是: 程序=对象+消息 面向对象程序的基本元素是对象。 主要结构特点是: 第一,程序一般由类的定义和类的使用两部分组成; 第二,程序中的一切操作都是通过向对象发送消息来实现的。 1.2 什么是对象?什么是类?对象与类之间的关系是什么? 对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。 类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。 类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合抽象的结果,一个对象是类的一个实例。 1.3 现实世界中的对象有哪些特征?请举例说明。 现实世界中的对象具有以下特征: 1) 每一个对象必须有一个名字以区别于其他对象; 2) 用属性来描述对象的某些特征; 3) 有一组操作,每组操作决定对象的一种行为;

4) 对象的行为可以分为两类:一类是作用于自身的行为,另一类是作用于其他对象的行为。 例如一个教师是一个对象。每个教师对象有自己的名字来和别的教师区别。教师具有编号,姓名,年龄,职称,专业等属性。教师拥有走路,吃饭,授课等行为操作。走路,吃饭是作用于自身的行为,授课是作用于其他对象的行为。 1.4 什么是消息?消息具有什么性质? 一个对象向另一个对象发出的请求成为“消息”。 消息具有以下3个性质: 1) 同一个对象可以接收不同形式的多个消息,做出不同的相应; 2) 相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的; 3) 对消息的响应并不是必须的,对象可以响应消息,也可以不响应。 1.5 什么是抽象和封装?请举例说明。 抽象是将有关事物的共性归纳、集中的过程。 例如:把所有具有大学生学籍的人归为一类,成为“大学生”,这就是一个抽象。 封装是指把数据和实现操作的代码集中起来放在对象内部,并尽可能隐藏对象的内部细节。 例如:每一台洗衣机都有出厂日期、机器编号等属性,也有启动、暂停、选择等操作。人们在使用洗衣机的时候只需要按下对应的按钮,而不用关心具体的内部实现。这就是封装。 1.6 什么是继承?请举例说明。 继承就是允许派生类使用基类的数据和操作,同时,派生类还可以增加新的操作和数据。

全国英语等级考试三级全真模拟试题二

全国英语等级考试三级全真模拟试题二 Public English Test System (PETS) Level3 姓名准考证号 考生注意事项 1.严格遵守考场规则,考生得到监考人员指令后方可开始答题。 2.答题前考生须将自己的姓名和准考证号写在试卷和答题卡上。 3.一律用2B铅笔涂写,按照答题卡上的要求答题。如要改动答案,必须用橡皮擦干净。 4.答写作题时,必须用铅笔或圆珠笔在主观题答题卡上答题。 5.注意字迹清楚,保持卷面整洁。 6.考试结束时将试卷和答题卡放在桌上。不得带走。待监考人员收毕清点后,方可离场。 本试卷任何单位或个人不得保留、复制和出版,违者必究。 Section I Listening Comprehension (25 minutes) Directions: This section is designed to test your ability to understand spoken English. You will hear a selection of recorded materials and you must answer the questions that accompany them. There are two parts in this section, Part A and Part B. Remember, while you are doing the test, you should first put down your answers in your test booklet. At the end of the listening comprehension section, you will have 3 minutes to transfer your answers from your test booklet onto your ANSWER SHEET I. If you have any questions, you may raise your hand NOW as you will not be allowed to speak once the test has started. Now look at Part A in your test booklet. Part A You will hear 10 short dialogues. For each dialogue, there is one question and four possible answers. Choose the correct answer-A, B, C or D, and mark it in your test booklet. You will have 15seconds to answer the question and you will hear each dialogue ONLY ONCE. Example: You will hear: W: Could you please tell me if the Beijing flight will be arriving on time? M:Yes, Madam. It should be arriving in about ten minutes. You will read: Who do you think the woman is talking to? [A] A bus conductor. [B]A clerk at the airport. [ C] A taxi driver. [D]A clerk at the station. From the dialogue, we know that only a clerk at the airport is most likely to know the arrival time of a flight, so you should choose answer [ B ] and mark it in your test booklet.

面向对象程序设计笔记

undeclared identifier “未声明的标识符” (1) 十进制整数:在一个整型常量后面加一个字母 l 或 L,则认为是 long int 型常量? (2) 八进制整数?在常数的开头加一个数字 0,就表示这是以八进制数形 式表示的常数? (3)十六进制整数?在常数的开头加一个数字0和一个英文字母X(或x), 就表示这是以十六进制数形式表示的常数? 2. 浮点数的表示方法 如果在实数的数字之后加字母 F 或f,表示此数为单精度浮点数,如1234F,-43f,占 4 个字节?如果加字母 L 或 l,表示此数为长双精度数(long double), 在Visual C++ 6.0 中占 8 个字节. (2) 指数形式(即浮点形式):用字母 e 表示其后的数是以 10 为底的幂,如 e12 表示 1012? 1.普通的字符常量:用单撇号括起来的一个字符就是字符型常量如′a′,′ #′,′%′,′D′都是合法的字符常量,在内存中占一个字节?“cout<<′\n′; ”将输出一个换行,其作用与“cout<

《面向对象程序设计C 》期末考试试卷

《面向对象程序设计C++》期末考试试卷 一、选择题(每小题3分,共48分。) 01、下列关于C++函数的叙述中,正确的是( C )。 A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值 C)函数在被调用之前必须先声明 D)函数不能自己调用自己 02、下列关于类和对象的叙述中,错误的是( A )。 A)一个类只能有一个对象 B)对象是类的具体实例 C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系 03、在C++中,用于实现运行时多态性的是( D )。 A)内联函数 B)重载函数 C)模板函数D)虚函数 04、下列关于运算符重载的叙述中,正确的是( B )。 A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载 C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参 05、对于语句 cout<

相关主题
文本预览
相关文档 最新文档