欢迎来到天天文库
浏览记录
ID:37907102
大小:213.00 KB
页数:26页
时间:2019-06-02
《《CC++程序设计》(高起专)练习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C++程序设计》(高起专)练习题一一、单项选择题1.C++是一种()的程序设计语言。A.面向对象B.即可面向过程,又可面向对象C.面向过程D.面向系统2.在下面有关析构函数特征的描述中,正确的是()。A.一个类中可以定义多个析构函数B.析构函数名与类名完全相同C.析构函数不能指定返回类型D.析构函数可以有一个或多个参数3.下面对于友元函数描述正确的是()。A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员4.下面描述中,表达错误的是()。 A.公有继承时基类中的public成员在派生类中仍是pub
2、lic的 B.公有继承时基类中的private成员在派生类中仍是private的 C.公有继承时基类中的protected成员在派生类中仍是protected的 D.保护继承时基类中的public成员在派生类中是private的5.所谓多态性是指()A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数D.一个对象调用不同名称的对象6.重载赋值操作符时,应声明为()函数。A.友元B.虚C.成员D.多态7.下列对模板的声明错误的是()。A.templateB.template3、,T2>C.templateD.template8.下列类中()不是输入流类istream的派生类。A.ifstreamB.istrstreamC.iostreamD.ofstream9.()不是构造函数的特征。A.构造函数的函数名与类名相同B构造函数可以重载C.构造函数可以设置缺省参数D构造函数必须指定类型说明10.下列语句中错误的是()。A.int*p=newint(10);B.int*p=newint[10];C.int*p=newint;D.int*p=newint[40](0)11.下列关于虚基类4、的描述,错误的是()A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数1.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。A.voidprint()const;B.constvoidprint();C.voidconstprint();D.voidprint(const);2.在下面有关静态成员函数的描述中,正确的是()。A.在静态成员函数中可以使用this指针B.在建立5、对象前,就可以为静态数据成员赋值C.静态成员函数在类外定义时,要用static前缀D.静态成员函数只能在类外定义3.在下列关键字中,用于说明类中公有成员的是()。A.publicB.privateC.protectedD.friend4.以下有关继承的叙述正确的是()。A.构造函数和析构函数都能被继承B.派生类是基类的组合C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D.基类的公有成员一定能被派生类的对象访问5.下列各种高级语言中,不是面向对象的程序设计语言的是()。A.C++B.JavaC.VBD.C6.下列说法中正确的是()。A.类定义中只能说明函数成员的6、函数头,不能定义函数体B.类中的函数成员可以在类体中定义,也可以在类体之外定义C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中D.在类体之外定义的函数成员不能操作该类的私有数据成员7.静态数据成员的初始化必须在()。A.类内B.类外C.构造函数内D.静态成员函数内8.使用派生类的主要原因是()。A.提高代码的可重用性B.提高程序的运行效率C.加强类的封装性D.实现数据的隐藏9.编译时的多态性通过使用()实现。A.构造函数B.虚函数C.重载函数D.析构函数10.下列关于运算符重载的描述中,正确的是()。A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算7、符的结合性D.可以改变运算符的功能11.如有以下模板类定义:Templateclasssum{Ta,b;Public:sum(Tx,Ty);}则在类体外定义构造函数正确的是()。A.templatesum::sum(Tx,Ty){a=x;b=y;}B.templatesum::sum(Tx,Ty){a=x;b=y;}C.templatesum::sum(Tx,Ty){a=x;b=y;}D.sum::sum(Tx
3、,T2>C.templateD.template8.下列类中()不是输入流类istream的派生类。A.ifstreamB.istrstreamC.iostreamD.ofstream9.()不是构造函数的特征。A.构造函数的函数名与类名相同B构造函数可以重载C.构造函数可以设置缺省参数D构造函数必须指定类型说明10.下列语句中错误的是()。A.int*p=newint(10);B.int*p=newint[10];C.int*p=newint;D.int*p=newint[40](0)11.下列关于虚基类
4、的描述,错误的是()A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数1.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。A.voidprint()const;B.constvoidprint();C.voidconstprint();D.voidprint(const);2.在下面有关静态成员函数的描述中,正确的是()。A.在静态成员函数中可以使用this指针B.在建立
5、对象前,就可以为静态数据成员赋值C.静态成员函数在类外定义时,要用static前缀D.静态成员函数只能在类外定义3.在下列关键字中,用于说明类中公有成员的是()。A.publicB.privateC.protectedD.friend4.以下有关继承的叙述正确的是()。A.构造函数和析构函数都能被继承B.派生类是基类的组合C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D.基类的公有成员一定能被派生类的对象访问5.下列各种高级语言中,不是面向对象的程序设计语言的是()。A.C++B.JavaC.VBD.C6.下列说法中正确的是()。A.类定义中只能说明函数成员的
6、函数头,不能定义函数体B.类中的函数成员可以在类体中定义,也可以在类体之外定义C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中D.在类体之外定义的函数成员不能操作该类的私有数据成员7.静态数据成员的初始化必须在()。A.类内B.类外C.构造函数内D.静态成员函数内8.使用派生类的主要原因是()。A.提高代码的可重用性B.提高程序的运行效率C.加强类的封装性D.实现数据的隐藏9.编译时的多态性通过使用()实现。A.构造函数B.虚函数C.重载函数D.析构函数10.下列关于运算符重载的描述中,正确的是()。A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算
7、符的结合性D.可以改变运算符的功能11.如有以下模板类定义:Templateclasssum{Ta,b;Public:sum(Tx,Ty);}则在类体外定义构造函数正确的是()。A.templatesum::sum(Tx,Ty){a=x;b=y;}B.templatesum::sum(Tx,Ty){a=x;b=y;}C.templatesum::sum(Tx,Ty){a=x;b=y;}D.sum::sum(Tx
此文档下载收益归作者所有