有如下的运算符重载函数定义:double operator+(int i,int k){return double (i+ k);}但定义有错误,对这个错误最准确的描述是( )。
A.“+”只能作为成员函数重载,而这里的“+”是作为非成员函数重载的
B.两个int型参数的和也应该是int型,而这里将“+”的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第1题:
( 33 )有如下的运算符重载函数定义:double operator +(int i, int k){ return double(i+k); }但 定义有错误,对这个错误最准确的描述是
A ) + 只能作为成员函数重载,而这里的 + 是作为非成员函数重载的
B ) 两个 int 型参数的和也应该是 int 型,而这里将 + 的返回类型声明为 double
C )没有将 运算符重载函数声明为某个类的友元
D ) C++ 已经提供了求两个 int 型数据之和的运算符 + ,不能再定义同样的运算符
第2题:
( 14 )下面的函数定义是某函数模板能够生成的函数实例
int square(int n) {return n*n;}
double square(double n) {return n*n;}
由此可知,该函数模板的定义是 【 15 】 。
第3题:
有如下的运算重载函数定义:
Double operator+(int i, int k){return double(i+k);}
但定义有错误,对这个错误的最准确的描述是______。
A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的
B.两个int 型参数的和应该是int 型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int 型数据之和运算符+,不能再定义同样的运算符
第4题:
已知:double A(double A) {return++a;}和int A(in A) {return++a;}是一个函数模板的两个实例,则该函数模板定义为【 】
第5题:
A、intFunc(int,int,int);
B、doubleFunc(int,int);
C、doubleFunc(double,double);
D、doubleFunc(int,double);
第6题:
若类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();
第7题:
若类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()
第8题:
已知:double A(double A){return++a;}和int A(int a){return ++a;)是一个函数模板的两个实例,则该函数模板定义为【 】。
第9题:
下列程序的输出是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;
}
第10题:
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
A.#NAME?
B.两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符