要把一个文件输出流对象myFile与文件“f:\myText.txt相关联,所用的C++语句是:()。
答案是:myFile.open(“f:\myText.txt”);
#include
template
class f{
private:T x,y;
public:void f1(T a,T b){x=a;y=b;}
T max( ){retum(x>y)?x
答案是:cout<
#include
class point{private:float x;
public:void f(float a){x=a;}
void f( ){x=0;}
frie
答案是:cout<不能调用
#include
class f{
private:int x=0,y=0;
public:void f1(int a,int b){x=a;y=b;}
void get( ){
答案是:private:int x=0,y=0; 数据成员声明时不允许直接赋值
#include
class f{
private:int x,y;
public:f1( ){x=0;y=0;}
print( ){cout<<><><><>< p="">
};
void main(
答案是:a.f1(1,1); f1( )调用时实参与形参数量不一致
#include
void main( ) {
int x=5,y=6;
const int * p=&x;
*p=y;
cout<<*p<<>< p="">}
答案是:*p=y; 指针p所指向的为一常量,不能进行左值操作
在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。
#include
using namespace std;
void main( )
{
float a,b;
答案是:cha(a,b)
程序的输出结果如下:
1,9
50,30
请根据输出数据在下面程序中的下划线处填写正确的语句。
源程序如下:
#include
using namespace std;
答案是:ptr+1
在下划线处填上缺少的部分。
#include
#include
using namespace std;
class complex
{
pu
答案是:complex& a
下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。
#include
using namespace std;
const double pi=3.14159;
答案是:cin>>r
完成下面类中的成员函数的定义。
class point
{
private:
int m,n;
public:
point(int,int);
答案是:n
给出下面程序的输出结果。
#include
using namespace std;
template
T max(T ml,T m2)
{return
答案是:7 5y a
给出下面程序的输出结果。
#include
template
class Sample
{
T n;
public:
Sample(T i){n=i;
答案是:S1与S2的数据成员不相等 S3与S4数据成员相等
执行下列代码
cout<<><>
程序输出结果是______。
<>
答案是:123
C++的流类库预定义的与标准输出设备相联接的流是__ ____。
答案是:cout
C++中用于动态创建对象,并返回该对象的指针的关键字是______。
答案是:new
在vector类中向向量尾部插入一个对象的方法是______。
答案是:push_back()
从一个或多个以前定义的类产生新类的过程称为______。
答案是:派生
与操作对象的数据类型相互独立的算法称为______。
答案是:泛型算法
类的简单成员函数是指声明中不含______、volatile、static关键字的函数。
答案是:const
对象成员构造函数的调用顺序取决于这些对象在类中说明的顺序,与它们在成员初始化列表中给出的顺序______。
答案是:无关
对于类Point而言,其析构函数的定义原型为______。
答案是:~Point();
有下列代码int a=0;double b=0;cin>>a>>b;当用键盘输入1.25
答案是:0.25
类和其它数据类型不同的是,组成这种类型的不仅可以有数据,还
答案是:函数
在源程序中有宏定义:#define PI 3.14,则若不想使该宏定义影响到程序的其它地方,可以使用_____删除该宏定义。
答案是:#undef PI
C++中使用______关键字说明函数为内联函数。
答案是:inline
若有函数定义为:
int add(int ml=0,int m2=2,int m3=4)
{return ml+m2+m3;}
在主函数中有int s=add(1)+add(0,1)+add(0,1,2);
则执行此语句后s的值为_
答案是:15
写出声明一个复数对象的语句,并使该对象被初始化为2.2+1.3i,此声
答案是:complex c(2.2,1.3);
C++程序必须有且只有一个主函数,其函数名为______。
答案是:main
静态联编所支持的多态性称为______的多态性。
答案是:编译时
执行下列代码
int b=100;
cout<<"hex:"<<><>
程序的输出结果是______。
<>
答案是:Hex:64
C++将数据从一个对象流向另一个对象的流动抽象为“流”,从流中获
答案是:提取
若使用标准输出流把整型变量a的值输出到屏幕上,实现此操作的C++
答案是:cout<
下面有一处错误,请给出修改意见。
#include
class f{
private:float x,y;
public:f(float a,float b){x=a;y=b;}
答案是:应改为float max(){return(x>y)?x:y;}
下面有一处错误,请给出修改意见。
#include
main(){
int x=6;
const int*p=x;
cout<<*p<<>< strong="">
}
答案是:应改为const int*p=&x;
下面有一处错误,请给出修改意见。
#include
class f{
private:int x,y;
public:fl(int a,int b){x=a;y=b;}
voi
答案是:实际参数类型与f1函数的形参,应修改为一致。
下面有一处错误,请给出修改意见。
#include
class point{
private:float x,y;
public:f1(float a,float b){x=a;y=b;}
答案是:应将print函数说明为point类的友元函数
下面有一处错误,请给出修改意见。
#include
class test{
private:int x;
public:test(int a){x=a;}
void set(
答案是:缺少分号;
下面程序的运行结果如下:
This is line1
This is line2
This is line3
在下划线处填上缺少的部分。源程序如下:
#include
#
答案是:
#include
using namespace std;
template
T fun(T x)
{
_____y;
y=x*x
答案是:T
下面程序的运行结果如下:
B::display()
C::display()
在下划线处填上缺少的部分。源程序如下:
#include
using namespace std;
答案是:virtual void
#include
using namespace std;
class base
{
private:int x;
public:base(int a){x=a;}
int get
答案是:Derived b1(d);(或Derived b1(6,7); 或base b1(6);或 base b1(d);)
完成下面程序,使其输出l0,并在退出运行时正确释放分配给指针的存储空间。
#include
using namespace std;
void main()
{
int *a,*p;
a=new in
答案是:a delete p
给出下面程序的输出结果
#include
using namespace std;
class Simple
{
int x,y;
public:
Simple(){x=y
答案是:x=1,y=2x=70,y=80
给出下面程序的输出结果
#include
using namespace std;
void main()
{
int num=300;
int &ref=num;
答案是:300 200 150
静态成员函数没有( )
A.返回值
B.this指针
C.指针参数
D.返回类型
答案是:参考答案:B
要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )
A.const char *p=“ABCD”;
B.char const *p=“ABCD”;
C.char *const p=“ABCD”;
D.c
答案是:参考答案:D
类的指针成员的初始化是通过函数完成的,这个函数通常是( )
A.析构函数
B.构造函数
C.其它成员函数
D.友元函数
答案是:参考答案:B
在下列成对的表达式中,运算符“+”的意义不相同的一对是( )
A.5.0+2.0和5.0+2
B.5.0+2.0和5+2.0
C.5.0+2.0和5+2
D.5+2.0和5.0+2
答案是:参考答案:C
所有在函数中定义的变量,都是( )
A.全局变量
B.局部变量
C.静态变量
D.寄存器变量
答案是:参考答案:B
在C++中实现封装是借助于( )
A.枚举
B.类
C.数组
D.函数
答案是:参考答案:B
当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )
A.都是虚函数
B.只有被重新说明时才是虚函数
C.只有被重新说明为virtual时才是虚函数
D.都不是虚函数
答案是:参考答案:A
下面叙述不正确的是( )
A.派生类一般都用公有派生
B.对基类成员的访问必须是无二义性的
C.赋值兼容规则也适用于多重继承的组合
D.基类的公有成员在派生类中仍然是公有的
答案是:参考答案:D
下列特性中,C与C++共有的是( )
A.继承
B.封装
C.多态性
D.函数定义不能嵌套
答案是:参考答案:D
下列函数不能和函数void print(char)构成重载的是( )
A.int print(int);
B.void print(char,char);
C.int print(char);
D.void print(int
答案是:参考答案:C
内联函数的特点是( )
A.减少代码量,加快访问速度
B.减少代码量,减缓访问速度
C.增加代码量,减缓访问速度
D.增加代码量,加快访问速度
答案是:参考答案:A
类的私有成员可在何处被访问( )
A.本类的成员函数中
B.本类及子类的成员函数中
C.通过对象名在任何位置
D.不可访问
答案是:参考答案:A
下列关于析构函数描述正确的是( )
A.可以重载
B.函数体中必须有delete语句
C.返回类型必须是void类型
D.不能指定返回类型
答案是:参考答案:D
设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是( )
A.Sum(1,2);
B.Sum(3.0,2.2);
C.Sum(‘A’,‘C’);
D.Sum(
答案是:参考答案:D
关于类的静态成员函数描述错误的是( )
A.在创建对象前不存在
B.不能说明为虚函数
C.不能直接访问非静态函数
D.不是对象的成员
答案是:参考答案:A
通常情况下,函数模板中的类型参数个数不能是( )
A.0
B.2
C.4
D.3
答案是:参考答案:A
对C++语言和C语言的兼容性,描述正确的是( )
A.C++兼容C
B.C++部分兼容C
C.C++不兼容C
D.C兼容C++
答案是:参考答案:A
下列描述错误的是( )
A.在创建对象前,静态成员不存在
B.静态成员是类的成员
C.静态成员不能是虚函数
D.静态成员函数不能直接访问非静态成员
答案是:参考答案:A
设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( )
A.A类构造函数先执行
B.成员构造函数先执行
C.两者并行执行
D.不能确定
答案是:参考答案:B
下列关于类的权限的描述错误的是( )
A.类本身的成员函数只能访问自身的私有成员
B.类的对象只能访问该类的公有成员
C.普通函数不能直接访问类的公有成员,必须通过对象访问
D.一个类可以将另一个类的对象作为成员
答案是:参考答案:A
如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( )
A.编译器总是自动创建一个不带参数的构造函数
B.这个类没有构造函数
C.这个类不需要构造函数
D.该类不能通过编译
答案是:参考答案:A
类的私有成员可在何处访问( )
A.通过子类的对象访问
B.本类及子类的成员函数中
C.通过该类对象访问
D.本类的成员函数中
答案是:参考答案:D
如没有使用private关键字定义类的数据成员,则默认为( )
A.private
B.public
C.protected
D.friend
答案是:参考答案:A
下列哪个编译指令属于条件编译指令( )
A.#include
B.#define
C.#else
D.#pragma
答案是:参考答案:C
如没有使用private关键字定义类的数据成员,则默认为( )
A.private
B.public
C.protected
D.friend
答案是:参考答案:A
对使用关键字new所开辟的动态存储空间,释放时必须使用( )
A.free
B.create
C.delete
D.realse
答案是:参考答案:C
在C++中使用流进行输入输出,其中用于屏幕输出的对象是( )
A.cerr
B.cin
C.cout
D.cfile
答案是:参考答案:C
在哪种派生方式中,派生类可以访问基类中的protected成员( )
A.public和private
B.public和protected
C.protected和private
D.仅protected
答案是:参考答案:B
this指针存在的目的是( )
A.保证基类公有成员在子类中可以被访问
B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码
C.保证基类保护成员在子类中可以被访问
D.保证基类私有成员在子类中可以被访问
答案是:参考答案:B
对类中声明的变量,下列描述中正确的是( )
A.属于全局变量
B.只属于该类
C.属于该类,某些情况下也可被该类不同实例所共享
D.任何情况下都可被该类所有实例共享
答案是:参考答案:C
对使用关键字new所开辟的动态存储空间,释放时必须使用( )
A.free
B.create
C.delete
D.realse
答案是:参考答案:C
设存在整型变量int x,则下列句与其它三项含义不同的是( )
A.int* p=&x;
B.int& p=x;
C.int & p=x;
D.int &p=x;
答案是:参考答案:A
派生类的对象可以访问以下那种情况继承的基类成员( )
A.私有继承的私有成员
B.公有继承的私有成员
C.私有继承的保护成员
D.公有继承的公有成员
答案是:参考答案:D
设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( )
A.10,10
B.10,15
C.15,10
D.15
答案是:参考答案:C
类的构造函数在以下什么情况下会被自动调用( )
A.定义成员函数时
B.定义对象时
C.定义数据成员时
D.定义友元函数时
答案是:参考答案:B
用于标识十六进制前缀或后缀是( )
A.无
B.后缀L或e
C.前缀零
D.前缀0x
答案是:参考答案:D
包含自定义头文件file.h的预处理指令是( )
A.#define
B.#include file.h
C.#define file.h
D.#include
答案是:参考答案:D
假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( )
A.X,Y;Y,X
B.X,Y;X,Y
C.Y,X;X,Y
D.Y,X;Y,X
答案是:参考答案:A
以下叙述错误的是( )
A.基类的保护成员在公有派生类中仍然是保护成员
B.基类的保护成员在派生类中仍然是保护成员
C.基类的保护成员在私有派生类中是私有成员
D.基类的保护成员不能被派生类的对象访问
答案是:参考答案:D
若Sample类中的一个成员函数说明如下:voidset(Sample&a),则Sample&a的含义是( )
A.指向类Sample的名为a的指针
B.a是类Sample的对象引用,用来作函数Set()的形参
C.将a的地址赋
答案是:参考答案:B
在C++中把不返回任何类型的函数应该说明为( )
A.int
B. char
C.void
D.double
答案是:参考答案:C
有关C++编译指令,以下叙述正确的是( )
A.C++每行可以写多条编译指令
B.#include指令中的文件名可含有路径信息
C.C++的编译指令可以以#或//开始
D.C++中不管#if后的常量表达式是否为真,该部分都需要
答案是:参考答案:B
类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )
A.调用类A中的函数func()
B.调用类B中的函数func()
C.根据p所指的对象类型而确定调
答案是:参考答案:A
如果类A被声明成类B的友元,则( )
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
答案是:参考答案:D
设有函数模板 templateQ Sum(Qx,Qy){return(x)+(y);} 则下列语句中对该函数模板错误的使用是( )
A.Sum(10,2);
B.Sum(5.0,6.7);
C.Sum(15.2f,16.0f
答案是:参考答案:D
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )
A.类
B.对象
C.函数体
D.数据块
答案是:参考答案:B
派生类的对象可以访问以下那种情况继承的基类成员( )
A.私有继承的私有成员
B.公有继承的私有成员
C.私有继承的保护成员
D.公有继承的公有成员
答案是:参考答案:D
关于类的静态成员函数描述错误的是( )
A.在创建对象前不存在
B.不能说明为虚函数
C.不能直接访问非静态函数
D.不是对象的成员
答案是:参考答案:A
在下列成对的表达式中,运算结果类型相同的一对是( )
A.7/2和7.0/2.0
B.7/2.0和7/2
C.7.0/2和7/2
D.7.0/2.0和7.0/2
答案是:参考答案:D
设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( )
A.int m=min(min(15,26),min(15,47));
B.int m=min(15,26
答案是:参考答案:B
如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )
A.operator*(i.operator++(),k)
B.operator*(operator++(i),k
答案是:参考答案:B
类的构造函数被自动调用执行的情况是在定义该类的( )
A.成员函数时
B.数据成员时
C.对象时
D.友元函数时
答案是:参考答案:C
面向对象的程序设计语言必须具备的关键要素是( )
A.抽象和封装
B.抽象和多态性
C.抽象、封装、继承和多态性
D.抽象、封装和继承性
答案是:参考答案:C
下列说法中正确的是( )
A.类定义中只能说明函数成员的函数头,不能定义函数体
B.类中的函数成员可以在类体中定义,也可以在类体之外定义
C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D.在类体之外定义的函数成
答案是:参考答案:B
在下面格式化命令的解释中,错误的是 ( )
A.ios::skipws 跳过输入中的空白字符
B.ios::fill() 获得当前的填充字符
C. ios::hex 转换基数为八进制形式
D.ios::precision 返回
答案是:参考答案:C
以下关于抽象类的描述正确的是 ( )
A.不能说明指向抽象类对象的指针或引用
B.可以说明抽象类对象
C.抽象类的纯虚函数的实现可以由自身给出,也可以由派生类给出
D.抽象类的纯虚函数的实现由派生类给出
答案是:参考答案:D
以下叙述正确的是( )
A.构造函数调用虚函数采用动态联编
B.构造函数可以说明为虚函数
C.当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数
D.析构函数调用虚函数采用动态联编
答案是:参考答案:C
以下有关继承的叙述正确的是 ( )
A. 构造函数和析构函数都能被继承
B.派生类是基类的组合
C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D. 基类的公有成员一定能被派生类的对象访问
答案是:参考答案:B
一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ( )
A.内联函数
B.重载函数
C.递归函数
D. 嵌套函数
答案是:参考答案:A
有如下程序段: int *p,a[6]={-1,0,1,2,3,4}; p=a+3; 执行该程序段后,*p的值为 ( )
A.4
B.2
C.1
D.NULL
答案是:参考答案:B
友元关系不能( )
A.继承
B.是类与类的关系
C.是一个类的成员函数与另一个类的关系
D.提高程序的运行效率
答案是:参考答案:A
下列有关模板和继承的叙述正确的是 ( )
A.模板和继承都可以派生出一个类系
B.从类系的成员看,模板类系的成员比继承类系的成员较为稳定
C.从动态性能看, 继承类系比模板类系具有更多的动态特性
D.相同类模板的不同实例一般没
答案是:参考答案:D
假设类X以类Y作为它的一个基类,并且X类的名字func()支配Y类的名字func(),obj为类X的对象,则obj.func()语句实现的功能为 ( )
A.先执行类X的func(),再执行访问类Y的func()
B.先执行类Y的
答案是:参考答案:C
下面运算符中,不能被重载的运算符是( )
A.<=
B.-
C.?:
D.[]
答案是:参考答案:C
类MyA的拷贝初始化构造函数是 ( )
A.MyA()
B.MyA(MyA*)
C.MyA(MyA&)
D.MyA(MyA)
答案是:参考答案:C
所谓多态性是指 ( )
A.不同的对象调用不同名称的函数
B.不同的对象调用相同名称的函数
C.一个对象调用不同名称的函数
D. 一个对象调用不同名称的对象
答案是:参考答案:B
对于类定义 class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<″class b="" fu
答案是:参考答案:C
在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( )
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类
答案是:参考答案:C
可以用p.a的形式访问派生类对象p的基类成员a,其中a是( )
A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员
答案是:参考答案:D
下面说法正确的是( )
A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外通过加关
答案是:参考答案:B
语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( )
A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建
答案是:参考答案:A
对于任意一个类,析构函数的个数最多为( )
A.0
B.1
C.2
D.3
答案是:参考答案:B
在C++程序中,对象之间的相互通信通过( )
A.继承实现
B.调用成员函数实现
C.封装实现
D.函数重载实现
答案是:参考答案:B
解决二义性问题的方法有( )
A.只能使用作用域分辨操作符
B.使用作用域分辨操作符或赋值兼容规则
C.使用作用域分辨操作符或虚基类
D.使用虚基类或赋值兼容规则
答案是:参考答案:C
继承机制的作用是( )
A.信息隐藏
B. 数据封装
C.定义新类
D.数据抽象
答案是:参考答案:C
目前为:
2/3
页
首页 上页 下页 尾页