已知一个类A,其中Fun()函数是类A的一个成员函数,A*p,a;p=&a;,则下面语句正确的是( )。
A.语句p=&a;是把对象a赋值给指针变量p
B.语句A*p,a;p=&a;调用两次类A的构造函数
C.对语句*p.fun();的调用是正确的
D.语句 p->fun();和语句 a.fun();等价
第1题:
类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i} private: int value; }; 则对下列语句序列正确的描述是( )。 MyClass*P,my;p=&my;
A.语句p=&my;是把对象my赋值给指针变量P
B.语句MyClass*p,my;会调用两次类MyClass的构造函数
C.对语句*P.SetVariabte(5)的调用是正确的
D.语句p->SetVariable(5)与语句my.SetVariable(5)等价
第2题:
类MyClas定义如下: Class MyClas{ public: MyClas(){value=0;} setVariable(int i){value=I;} private: int value; }则以下对语句序列 MyClas *p,my;p=&my; 的描述正确的是( )。
A.语句 p->setVariable(5) 与语句 my.setVariable(5) 等价
B.对语句 *p.setVariable(5)的调用是正确的
C.语句 MyClas *p,my; 会调用两次类MyClas的构造函数
D.语句 p=&my; 是把对象my赋值给指针变量p
第3题:
已知p是一个指向类A公有数据成员的指针,a是类A的一个对象,如果要给p所指向的成员赋值为5,语句应写为【 】。
第4题:
已知f1(int)是类A的公有成员函数,并将指针p定义为可以指向函数f1的指针类型,则可以实现让p是指向成员函数f1()的指针的语句为【 】。
第5题:
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是Sample a[2],*P=new Sample;
A.0
B.1
C.2
D.3
第6题:
类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;) private: int value; }; 则对下列语句序列正确的描述是( )。
A.MyClass*p,my;p=&my;
B.语句p=&my;是把对象my赋值给指针变量p
C.语句MyClass*p,my;会调用两次类MyClass的构造函数
D.对语句*p.SetV ariable(5)与语句my.SetVariable(5)等价
第7题:
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。
A.(*p)fun(x,y);
B.*pfun(x,y);
C.(*p)(x,y)
D.*p(x,y)
第8题:
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( )。 Samplea[2],*p=newSample;
A.0
B.1
C.2
D.3
第9题:
拷贝构造函数是用一个已知的对象为新创建的同类的对象赋初值,下列( )情况下它没有起作用。
A.声明语句中,用一个对象初始化另一个对象。如point p2(p1);,其中:point为一个类, p2、p1为该类的两个对象,p1是一个已知的对象
B.将对象作为函数实参传递给形参,用来初始化形参时
C.当函数返回一个对象值,并用这个对象初始化一个匿名对象时
D.调用对象的一个成员函数时
第10题:
已定义以下函数 Int fun(int *p) {return *p;} 则fun函数返回值是()
第11题:
假定AB为一个类,则执行"ABa,b(2),c[3],*p=&a"语句时共调用该类无参构造函数的次数为()次。
第12题:
执行下列说明语句,其调用构造函数的次数为()。 Aa[5],*p[2];其中,A是一个类名
第13题:
A.voidfun(inta[]);
B.voidfun(int*&a);
C.voidfun(int&a[]);
D.voidfun(int&*a);
第14题:
此题为判断题(对,错)。
第15题:
假定AB为一个类,则执行“ABa(4),b[3],*p[2];”语句时,自动调用该类构造函数3次。()
第16题:
有如下程序: #include<iostream> using namespace std; class Instrument{ public: virtual void Display=0; }; class Pian0:public Instrument} public: void Display{/*函数体略*/} }; intmain{ Instrument S; Instrument*P=0: //…; return 0; } 下列叙述中正确的是( )。
A.语句“Insturment*P=0;”编译时出错
B.语句“Instnunent s;”编译时出错
C.类Pian0中的Display函数不是虚函数
D.类Instrument是一个虚基类
第17题:
有如下程序:
#include<iostream>
using namespace std;
class Instrument{
public:
virtual void Display()=0;
};
class Piano:public Instrument {
public:
void Display(){/*函数体程序略*/}
};
int main(){
Instrument s;
Instrument *p=0;
//…;
return 0;
}
下列叙述中正确的是
A.语句“Instrument *p=0;”编译时出错
B.语句“Instrument s;”编译时出错
C.类Piano中的Display函数不是虚函数
D.类Instrument是一个虚基类
第18题:
类MyClass的定义如下: classMyClass { public: MyClass(){value=0;} SetVariable(inti){valtic=i;} private: intvalue; }; MyClass*P,my;p=&my; 则对下列语句序列正确的描述是( )。
A.语句p=&my;是把对象my赋值给指针变量P
B.语句MyClass*P,my;会调用两次类MyClass的构造函数
C.对语句*P.SetVariable(5)的调用是正确的
D.语句P->SetVariable(5)与语句my.SetVariable(5)等价
第19题:
类中包含了一个静态成员函数,则main函数中和P.fl(P);语句具有同样功能的语句为______。
include<iostream.h>
class M
{
public:
M(int A){A=a;B+=a;}
static void fl(M m);
private:
int A;
static int B;
};
void M::f1(M m)
{
cout<<"A="<<m.A<<endl;
cout<<"B="<<m.B<<endl;
}
int M::B=10;
void main( )
{
M P(5);
P.f1(P);
}
第20题:
假设person是一个类,p1是该类的一个对象,p2是一个指向p1的指针,getname()是其中的一个函数,则下面对象的使用不正确的是( )。
A.person.getname();
B.p1.getname();
C.p1.person::getname();
D.p2->getname();
第21题:
已知fl(int)是类A的公有成员函数,p是指向成员函数fl()的指针,采用赋值,( )是正确的。
A.p=fl
B.P=A::fl
C.P=A::fl()
D.P=fl()
第22题:
f1()函数是类A的公有成员函数,p是指向类的成员函数f1()的指针,下列表示中正确的是()。
第23题:
设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。