有如下的运算符重载函数定义:double operator+(int i,int k){return double (i+ k);}但定义有错误,对这个错误最准确的描述是( )。
A.“+”只能作为成员函数重载,而这里的“+”是作为非成员函数重载的
B.两个int型参数的和也应该是int型,而这里将“+”的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第1题:
( 14 )下面的函数定义是某函数模板能够生成的函数实例
int square(int n) {return n*n;}
double square(double n) {return n*n;}
由此可知,该函数模板的定义是 【 15 】 。
第2题:
A、intFunc(int,int,int);
B、doubleFunc(int,int);
C、doubleFunc(double,double);
D、doubleFunc(int,double);
第3题:
已知:double A(double A) {return++a;}和int A(in A) {return++a;}是一个函数模板的两个实例,则该函数模板定义为【 】
第4题:
若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是
A.k=i*j;
B.int k;
C.return i;
D.void make()
第5题:
若类A和类B的定义如下: class A [ int i,j; public: int geti() { return i; } }; class B:public A { int k; public: void make() { k=i*j; } }; 则上述定义中非法的表达式是
A.k=i*j
B.int k;
C.retum i;
D.void make()
第6题:
以下函数的功能是:求x的y次方,请填空。double fun(double x,int y){ int i; double z; for(i=1,z=x;i<y;i++) z=z*; return z;}
第7题:
有如下的运算符重载函数定义: double operator+(inti,intk){return double(i+k);} 但定义有错误,对这个错误最准确的描述是( )。
A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的
B.两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第8题:
A.public double max(double x,double y)
B.publicintmax(intn,int k)
C.publicintmax(intx,int y, int z)
D.public double max(double n,double k)
第9题:
设i,j为类X定义的double型变量名,下列X类的构造方法中不正确的是
A.X(double k){ i=k; }
B.X( ){ i=6;}
C.X(double m,double n){ i=m;j=n;}
D.double X(double k){ i=k;return i;}
第10题:
已知一个函数的定义如下:double fun(int x,double y){⋯⋯}则该函数正确的函数原型声明为()
第11题:
以下正确的重载函数是()
第12题:
int same(int,double);double same(int,double);
int same1(int,double);int same2(int,double);
int same(int=0);int same(int);
int same(int,double);int same(int,double,double);
第13题:
若类A和类B的定义如下
class A
{
int i,j;
public:
int geti( )
{
return i;
}
};
class B:public A
{
int k:
public:
void make( )
{
k=i*j;
}
};
则上述定义中非法的语句是
A.k=i*j
B.int k;
C.return i;
D.void make()
第14题:
下列程序的输出是3,请填充程序中的空缺,使该行形成一个运算符重载函数的定义。
include<iostream>
using namespace std;
class MyNumber{
Int n;
public:
MyNumber(int k):n(k){}
【 】 int()const{return n;}
};
int main(){
MyNumber numl(3);
cout<<int(numl);
return 0;
}
第15题:
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
A.#NAME?
B.两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第16题:
若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。
A.k=i*j;
B.int k;
C.return i;
D.void make();
第17题:
若类A和类B的定义如下: class A { int i,j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j } }; 则上述定义中
A.k=i*j;
B.int k;
C.return i;
D.void make()
第18题:
在类A中定义了方法fun(double,int),类B继承自类A,并定义了函数fun(double),这种方式称为(46)。若B中重新定义函数fun(double,int)的函数体,这种方式称为(47)。
(62)
A.重置
B.重载
C.代理
D.委托
第19题:
若有定义:“double a=22;int i=0,k=18;”,则不符合C语言规定的赋值语句是( )。
A.a=a++,i++;
B.i=(a+k)<=(i+k);
C.i=a%11;
D.i=!a;
第20题:
在同一可访问区内有如下8个函数:
①double calculate(double x)
②double calculate(double x, double y);
③double calculate(double x. int y);
④double calculate(int x, double y);
⑤double calculate(int x);
⑥float calculate(float x);
⑦float calculate(double x);
⑧float calculate(int x,double y)。
那么关于函数重载的说法中,不正确的是(63)。
A.②③④⑤中任两个函数均构成重载
B.①③构成重载
C.②⑧肯定构成重载,⑥⑦也肯定构成重载
D.④⑧构成重载
第21题:
若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是()
第22题:
如果已经定义了方法int f(bool b, int i),则以下方法中,哪一个不是合法的重载方法()。
第23题:
以下正确的函数定义形式是()。