题目
A.public void Happy(){}
B.public Happy(int c){}
C.protected Happy(){}
D.public int Happy(){}
E.void Happy(){}
第1题
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制(深拷贝)的复制构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成默认的复制构造函数
第2题
include<iostream.h>
class Time
{
int h,m,s;
public:
Time(int hour=0,int min=0,int sec=0){settime(hour,min,sec);}
void settime(int hour,int min,int sec){h=hour;m=min;s=sec;}
void show24()
{ cout<<(h<10?"0":"")<<h<<":"<<(m<10?"0":"")<<
m<<":"<<(s<10?"0":"")<<s<<endl;
}
void showl2()
{ int temp=(h= =0 || h= =12)? 12:h%12;
cout<<(temp<10?"0":"")<<temp<<":"<<(m<10?"0":"")
<<m<<":"<<(s<10?"0":"")<<s<<((temp>0&&h<12)?"
AM":"PM")<<endl;
}
};
void main()
{
Time t(15,43,21);
t.showl2();
t.show24();
}
第3题
A.Java反序列化时,目标class与预期class不一致时,会导致类型转换错误,所以即使反序列化不可信数据也不会有安全风险
B.Java的反序列化操作,可以绕过对象构造函数的执行
C.对象序列化后,即使包含敏感数据也不会产生风险
D.jdk提供的序列化操作,会将Java对象序列化二进制流,可以有效防止信息泄露或恶意篡改
第4题
A.vehicle类是car类的一个特例,因而它可以被继承
B.car类是父类,vehicle类是子类
C.在car类中定义的成员model和wheelNo会删除vehicle类中同名的成员
D.car类是vehicle类的一个特例,它可以继承vehicle类中除构造函数和析构函数以外的所有成员
第5题
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
【说明】
设计一个类模板SamPle用于对一个有序数组采用二分法查找元素下标。
【C++程序】
include < iostream. h >
define Max 100 //最多元素个数
template < class T >
class Sample
{
T A[Max]: //存放有序数序
int n: //实际元素个数
public
Sample() { } //默认构造函数
Sample(T a[] ,int i); //初始化构造函数
int seek(T c);
void disp()
{
for(int i=0;i <n;i ++)
cout<<A[i] <<" ";
cout<<endl:
} } template < class T >
Sample <T>: :Sample(T a[ ],int i)
{
n=i:
for(intj =0;j < i;j ++ )
(1);
}
template < class T >
int Sample < T >:: seek(T c)
{
int low =0,high = n-1 ,mid;
while((2))
{
mid = (low + high)/2;
if((3))
return mid;
else if((4) )
low=mid+|;
else
(5);
}
return-1;
}
void main()
{
char a[ ] ="acegkmpwxz";
Sample < char > s(a, 1);
cout<<"元素序列:" ;s. disp();
cout<<"元素'g'的下标:"<<s. seek('g') <<endl;
}
第7题
(1)定义类circle的保护数据成员r和area,它们都是double型的数据。请在注释“//**1**”之后添加适当的语句。
(2)添加类circle的无参数的构造函数,使circle对象的r默认值为0,请在汁释“//**2**”之后添加适当的语句。
(3)添加派生类column构造函数的定义,传入的参数为double型的height和radius,并将具分别赋值给数擗成员h和基类的r,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类column的成员函数print的定义,使其以格式“r=_area=_”先输出半径r和底面积area,再以格式“h=_vol=_”输出高h和体积vol的值,请在注释“//**4**”之后添加适当的语句。
输山结果如下:
r=1 area=3.1416
h=2 vo1=6.2832
注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。
源程序文件test1_3.cpp清单如下:
include<iostream.h>
const double pi=3.1416;
class circle
{
protected:
//**1**
public:
//**2**
circle(double radius){ r=radius;}
void print()
{
area=r*r*pi;
cout<<"r="<<r<<" "<<"area="<<ared<<endl;
}
};
class column: protected circle
{
protected:
double h;
public:
//** 3 **
void print()
{
// ** 4 **
}
};
void main()
{
column col(1.0,2.0);
Col.print();
}
第8题
(1)添加类Letter的带一个参数c的构造函数,c是char型的数据,默认值为'A',该函数把参数c的值赋给类的保护成员ch,请在注释“//**1**”之后添加适当的语句。
(2)添加类Number的带一个参数n的构造函数,n是int型的数据,默认值为0,该函数把参数n的值赋给类的保护成员num,请在注释“//**2**”之后添加适当的语句。
(3)添加派生类Grid构造函数的定义,传入的参数为char型的c和血型的n,并将其分别赋值给基类的ch和num,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类Grid的友元函数——“<<”运算符重载的定义,使其以格式“[g.ch,g.num]”输出,请在注释“//**4 **”之后添加适当的语句。
源程序文件test37_3.cpp清单如下:
include<iost ream. h>
class Letter
{
protected:
char ch;
public:
// ** 1 **
};
class Number
{
protected:
int num;
public:
// ** 2 **
};
class Grid : public Letter, public Number
{
public:
// ** 3 **
friend ostream& operator<<(ostream &o,Grid &g);
};
// ** 4 **
{
o << "[" << g.ch << ", "<< g.num << "]";
return o;
}
int main ()
{
Grid g('C', 3);
cout << "Grid reference: "<< g << end1;
return 0;
}
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!