已知p是一个指向类sample数据成员m的指针,s是类sample的一个对象。如果要给m赋值为5,哪个是正确的?
A.s.p=5
B.s->p=5
C.s.*p=5
D.*s.p=5
第1题:
( 22 ) Sample 是一个类,执行下面语句后,调用 Sample 类的构造函数的次数是
Sample a[2], *p = new Sample;
A ) 0
B ) 1
C ) 2
D ) 3
第2题:
使用VC6打开考生文件夹下的工程MyProj7。此工程包含一个源程序文件MyMain7.cpp。其中定义了类Sample,但类Sample的定义并不完整。
请按要求完成下列操作,将类Sample的定义补充完成:
①定义私有数据成员n,它是int型的数据。请在注释“//* *1**”之后添加适当的语句。
②完成重载构造函数Sample()的定义,使Sample对象的默认值:n=0。请在注释“//* *2* *”之后添加适当的语句。
③完成成员函数add()的类体内的定义,使成员函数返回的Sample对象的值n为两类Sample对象s1和s2的私有成员n的和。请在注释“//* *3* *”之后添加适当的语句。
④完成成员函数disp()的类外定义,使其以“n=”的格式将Sample对象的值输出到屏幕上。请在注释“* *4* *”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain7.cpp清单如下:
//MyMain7.cpp
include<iostream>
using namespace std;
class Sample
{
private:
//* * 1* *
public:
Sample(){}
//* *2* *
Sample add(Sample s1,Sample s2)
{
//* *3* *
}
void disp();
};
void Sample: :disp()
{
//* * 4 * *
}
int main()
{
Sample s1(10),s2(5),s3;
cout<<"s1:";
s1.disp();
cout<<"\n S2:";
s2,disp();
s3.add(s1,S2);
cout<<"\n s3.add(s1,s2)\n s3:";
s3.disp();
return 0;
}
第3题:
已知一个类Sample,( )是定义指向类Sample成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和int a。
A.Sample*p
B.Int Samale::*pc=&Sample::a
C.Void(Sample::*Pa)()
D.Sample*P[10]
第4题:
己知类sample是一个抽象类,其成员函数display是无形参、无返回类型的纯虚函数,请完成其声明:
class sample{
public:
sample(){};
______
};
第5题:
已知一个类Sample,( )是定义指向类Sample成员函数的指针,假设类有三个公有成员:voidfl(int),void f2(int)和int a。
A.Sample*p
B.Int Samale::*pc=&Sample::a
C.Void (Sample::*Pa) ()
D.Sample *P[10]
第6题:
有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample(){)
~Sample(){if(p)delete p;)
Sample(const Sample& s){
______
}
void SetData(int data) {p=new int(data);}
private:
int*p;
};
第7题:
已知类 Sample中的一个成员函数说明如下: void Set (Sample &a); 其中,Sample&a的含意是( )。
A.指向类Sample 的指针为a
B.将a的地址值赋给变量Set
C.a是类Smple的对象引用,用来作函数Set() 形参
D.变量Sample与a按位相与作为函数Set()的参数
第8题:
已知类sample是一个抽象类,其成员函数display是无形参、无返回类型的纯虚函数,请完成其声明:
sample{
public:
sample( ){ };
______
};
第9题:
已知p是一个指向类Sample数据成员m的指针,s是类Sample的一个对象。如果要给 m赋值为5,( )是正确的。
A.s.p=5
B.s->p=5
C.s.*p=5
D.*s.p=5
第10题:
有如下类定义:
class Sample{
public:
Sample();
~Sample();
private:
static int data;
};
将静态数据成员data初始化为0的语句是【 】。
第11题:
有如下类声明:classSample{intx;};则Sample类成员x是Sample类的()。
第12题:
a.p=5
a->p=5
a.*p=5
*a.p=5
第13题:
( 10 )类 Sample 的构造函数将形参 data 赋值给数据成员 data 。请将类定义补充完整。
class Sample{
public:
Sample(int data=0);
Private:
Int data;
};
Sample::Sample(int data){
【 10 】
}
第14题:
在下面的类定义中,this指针的用途是______。
include<iostream.h>
class Sample
{
int x,y;
public:
Sample(int i,int j){x=i;y=j;}
void assign(Sample sa);
};
void Sample::assign(Sample p)
{
if(this!=&p)
{
x=p.x;
y=p.y;
}
}
第15题:
已知p是一个指向类A公有数据成员的指针,a是类A的一个对象,如果要给p所指向的成员赋值为5,语句应写为【 】。
第16题:
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是Sample a[2],*P=new Sample;
A.0
B.1
C.2
D.3
第17题:
已知类Sample中的一个成员函数说明如下: void Set(Sample &a); 其中,Sample &a的含义是(58)。
A.指向类Sample的指针为a
B.将a的地址值赋给变量Set
C.a是类Sample的对象引用,用来作函数Set( )的形参
D.变量Sample与a按位相与作为函数Set( )的参数
第18题:
下列程序中的this指针的作用是【 】。
include <iostream. h>
class Sample
{
int n;
static int st;
public,
Sample() {}
Sample(int m) {n=m; st=m+10;}
void Change(int k) {st=st+k;}
void AddValue(int m)
{
Sample s,
s. n=n+m;
*this=s;
}
void disp( ) {cout<<"n="<<n<<";st="<<st<<end1;}
};
int Sample: :st=0
void main()
{
Sample s1(10),s2(10)
s1.disp()
s1.AddValue(5),
s2.Change(100);
s1.disp();
s2.disp()
}
第19题:
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( )。 Samplea[2],*p=newSample;
A.0
B.1
C.2
D.3
第20题:
已知fl(int)是类A的公有成员函数,p是指向成员函数fl()的指针,采用赋值,( )是正确的。
A.p=fl
B.P=A::fl
C.P=A::fl()
D.P=fl()
第21题:
已知一个类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();等价
第22题:
p是指向类A数据成员a的指针,a是类A的一个对象。在给a成员赋值为5的下列表达式中,正确的是()。
第23题:
已知:p是一个指向类A数据成员m的指针,a是类A的一个对象。在给m赋值为5的下列表达式中,()是正确的
第24题:
公有数据成员
保护数据成员
私有数据成员
以上选项都不正确