更多“在运算符 (operator)声明中允许使用的修饰符有:public、static、extern”相关问题
  • 第1题:

    在表达式x-y中,"-"是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符"-",这个表达式还可以表示为

    A.x.operator-(y)

    B.operatot-(y,x)

    C.y.operator-(x)

    D.operator-(x,y)


    正确答案:D
    解析:本题考核运算符l的重载。运算符函数有两种调用形式。第一种是像一般函数那样用函数名进行调用,如c1.operator+(c2)或operator+(c1,c2)。第二种是通过运算符构成表达式的形式进行调用,如c1+c2。所以选项D的标书是正确的。

  • 第2题:

    以下Java应用程序执行入口main方法的声明中,正确的是( )。

    A.public static void main()

    B.public static void main(String[] args)

    C.public static int main(String[] args)

    D.public void main(String[] args)


    参考答案:B

  • 第3题:

    在某类的公共部分有声明string operator++( );和string operator++(int);则说明

    A.string operator++( );是前置自增运算符声明

    B.string( )perator++( );是后置自增运算符声明

    C.string operator++(int);是前置自增运算符声明

    D.两条语句无区别


    正确答案:A
    解析:在重载单操作符的过程中,++既可以是前缀运算符,又可以是后缀运算符,C++规定重载后缀++时必须多一个虚拟参数int,则不带虚拟参数int的为前缀运算符。

  • 第4题:

    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A) Data+(DatA) ;

    B) Data operator+{Data};

    C) Data+operator{Data};

    D) operator+(Data,DatA) ;

    A.

    B.

    C.

    D.


    正确答案:B

  • 第5题:

    下面重载乘法运算符的函数原型声明中错误的是( )

    A.TestClass operator *(MyClass,double);

    B.TestClass operator *(double,MyClass);

    C.TestClass operator *(double,double);

    D.TestClass operator *(MyClass,MyClass);


    正确答案:C

  • 第6题:

    有如下类定义: classMyClass( public: ____ private: intdata; }; 若要为Myclass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入MyClasS类的对象obj,则横线处的声明语句应为( )。

    A.friendistream&operator>>(istream&is,MyClass&a);

    B.friendistream&operator>>(istream&is,MyClassa);

    C.istream&operalor>>(istream&is,MyClass&a);

    D.istream&operator>>(istream&is,Myclassa);


    正确答案:A
    A。【解析】重载输入、输出的声明必须是友元,传入的对象必须是地址,否则操作对象的值是没有意义的。下面是重载输入运算符示例:(Dev-C++)#include<cstdlib>#include<iostream>usingnamespacestd;classMyClass{public:intdata;public:MyClass(intdata);friendistream&operator>>(1stream&is,MyCla-ss&obj);};MyClass::MyClass(iutdata){data=data;}istream&operator>>(istream&is,MyClass&obj){is>>obj.data;returnis;}intmain(void){MyClassobj(12);cin>>obj;eout<<endl;cout<<obj.data;system(”PAUSE”):returnEXIT—SUCCESS;}

  • 第7题:

    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 A.Data+(DatA.;SXB

    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A.Data+(DatA.;

    B.Data operator+(DatA.;

    C.Data+operator(DatA.;

    D.operator+(Data,DatA.;


    正确答案:B
    根据重载加法运算符的格式,只有B选项正确。

  • 第8题:

    static修饰符不能与()修饰符混合使用。

    • A、abstract
    • B、final
    • C、private
    • D、public

    正确答案:A

  • 第9题:

    在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。

    • A、operator+有两个参数,operator*有两个参数
    • B、operator+有两个参数,operator*有一个参数
    • C、operator+有一个参数,operator*有两个参数
    • D、operator+有一个参数,operator*有一个参数

    正确答案:C

  • 第10题:

    在Action类中定义的属性使用修饰符(),属性和属性对应的getter和setter方法使用修饰符public。

    • A、private
    • B、Public
    • C、protected
    • D、default

    正确答案:A

  • 第11题:

    声明Java独立应用程序main()方法时,正确表达是()。

    • A、public static void main(String[]args){…}
    • B、private static void main(String args[]){…}
    • C、public void main(String args[]){…}
    • D、public static void main(){…}

    正确答案:A

  • 第12题:

    接口中的成员变量被隐含地声明为()

    • A、public static final
    • B、public final
    • C、public static
    • D、public abstract

    正确答案:A

  • 第13题:

    将运算符“+”重载为非成员函数,下列原型声明中,错误的是( )。

    A.MyClock operator+(MyClock,long);

    B.MyClock operator+(MyClock,MyClock);

    C.MyClock operator+(long,long);

    D.MyClock operator+(long,MyClock);


    正确答案:C
    解析:首先非成员函数一般都是友元函数,相比成员函数第一个操作数是对象本身以this指针的形式隐含在参数列表中,非成员函数调用必须显性的列出参数;选项C中没有MyClock类型,故选C。

  • 第14题:

    在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。

    A.private

    B.protected

    C.pnvate protected

    D.public


    正确答案:D

  • 第15题:

    在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是

    A.operator+有两个参数,operator*有两个参数

    B.operator+有两个参数,operator*有一个参数

    C.operator+有一个参数,operator*有两个参数

    D.operator+有一个参数,operator*有一个参数


    正确答案:C
    解析:本题考查运算符重载。运算符可重载为成员函数,也可重载为友元函数。当重载为成元函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个,当重载为友元函数时,其参数个数应与操作数个数相同。

  • 第16题:

    若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。

    A) operator long()const;

    B) operator long(bigNumber);

    C) long operator long() const;

    D) long operator long(BigNumber);

    A.

    B.

    C.

    D.


    正确答案:A

  • 第17题:

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。 A.Data+(Data);SX

    若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

    A.Data+(Data);

    B.Dataoperator+(Data);

    C.Data+operator(Data);

    D.operator+(Data.Data);


    正确答案:B
    B:【解析】重载运算符的函数一般格式如下:函数类型0perator运算符名称(形参列表)因此选B。

  • 第18题:

    在使用interface声明一个接口时,可以使用______修饰符修饰该接口。

    A.private protected

    B.protected

    C.private

    D.public


    正确答案:D

  • 第19题:

    在某类的公共部分有声明string operator++();和string operator++(int);则说明

    A.string operator++();是前置自增运算符声明

    B.string operator++();是后置自增运算符声明

    C.string operator++(int); 是前置自增运算符声明

    D.两条语句无区别


    正确答案:A
    解析:在重载单操作符的过程中,对于像++和-这样的操作符,不易区分属于前置还是后置,因此C++规定了用一个虚的形参来区分前置和后置。

  • 第20题:

    在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。 

    • A、private
    • B、protected
    • C、private  protected
    • D、public

    正确答案:D

  • 第21题:

    代码public static const int A=1;中的错误是()

    • A、 A需要定义类型
    • B、 格式错误
    • C、 const不能用static修饰符
    • D、 const不能用public修饰符

    正确答案:C

  • 第22题:

    静态变量使用什么修饰符进行声明()。

    • A、swap
    • B、void
    • C、varstatic
    • D、static

    正确答案:D

  • 第23题:

    如果类中的成员只能被子类或同一包中的类访问,那么声明该成员时应使用下面哪个修饰符()

    • A、private
    • B、package
    • C、protected
    • D、public

    正确答案:C

  • 第24题:

    单选题
    代码public static const int A=1;中的错误是()
    A

     A需要定义类型

    B

     格式错误

    C

     const不能用static修饰符

    D

     const不能用public修饰符


    正确答案: D
    解析: 暂无解析