设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。
第1题:
设p是指向一个类动态对象的指针变量,则执行"delete p;"语句时,将自动调用该类中的______函数。
第2题:
A.const char *p=”ABCD”;
B.char const *p=”ABCD”;
C.char *const p=”ABCD”;
D.const char *const p=”ABCD”;
第3题:
设已有定义: float x; 则以下对指针变量 p 进行定义且赋初值的语句中正确的是
A)float *p=1024;
B)int *p=(float)x;
C)float p=&x;
D)float *P=&x;
第4题:
对下列语句正确的描述是( )。 const int*x; //(1) int*const X; //(2)
A.语句(1)的含义是指针变量x不能更改
B.语句(2)的含义是指针变量x所指向的不能更改
C.语句(2)的含义是指针变量x不能更改
D.语句(1)和(2)是相同含义的不同定义方式
第5题:
A.int*p=(floatx)
B.floatp=&x
C.float*p=1024
D.float*P=&x
第6题:
设函数f的原型是:char *f (const char*);,pf 是指向f 的指针,则pf 的定义是【 】。
第7题:
使用VC6打开考生文件夹下的工程test33_3。此工程包含一个test33_3.cpp,其中定义了表示时间的类Time,但Time类定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类Time的私有数据成员hours、minutes和seconds,它们都是int型的数据,分别表示时间的小时、分和秒。请在注释“//**1**”之后添加适当的语句。
(2)完成类Time缺省构造函数的定义,该函数将数据成员hours、minutes和seconds的值初始化为0,请在注释“//** 2**”之后添加适当的语句。
(3)完成类Time带参构造函数的定义,该函数将数据成员hours、minutes和seconds的值分别初始化为参数h、m和s的值,请在注释“//**3**”之后添加适当的语句。
(4)完成类Time中运算符“+”的重载,注意小时、分和秒在相加时的进位问题。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
程序输出结果如下:
8:17:11
源程序文件test33_3.cpp清单如下:
include <iostream.h>
class Time
{
//** 1 **
public:
Time ( )
{
//** 2 **
seconds=0;
}
Time(int h, int m, int s)
{
//** 3 **
minutes=m;
seconds=s;
}
Time operator +(Time&);
void gettime();
};
Time Time::operator +(Time& time)
{
//** 4 **
s=time.seconds+seconds;
m=time.minutes+minutes+s/60;
h=time.hours+hours+m/60;
Time result(h,m%60,s%60);
return result;
}
void Time::gettime()
{
cout<<hours<<":"<<minutes<<":"<<seconds<<end1;
}
void main( )
{
Time t1(3,20,15),t2(4,56,56),t3;
t3=t1+t2;
t3.gettime();
}
第8题:
设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )。
A.float *p=1024;
B.int *p=(float x);
C.float p=&x;
D.float *P=&x;
第9题:
对下列语句正确的描述是( )。 const int *x; int *const x;
A.语句1的含义是指针变量x不能更改
B.语句2的含义是指针变量x所指向的值不能更改
C.语句2的含义是指针变量x不能更改
D.语句1和语句2含义是相同的
第10题:
若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。
A.定义语句中的*号是一个间址运算符
B.定义语句中的*号只是一个说明符
C.定义语句中的P只能存放double类型变量的地址
D.定义语句中,*p=&n把变量a的地址作为初值赋给指针变量P