重载输入流运算符>>必须使用的原型为A.ostream& operator>>(ostream&,);B.istream重载输入流运算符>>必须使用的原型为A.ostream& operator>>(ostream&,<类名>);B.istream& operator>>(istream&,<类名>&);C.ostream operator>>(ostream,<类名>&);D.<类名>operator>>(istream&,<类名>&);

题目
重载输入流运算符>>必须使用的原型为A.ostream& operator>>(ostream&,<类名>);B.istream

重载输入流运算符>>必须使用的原型为

A.ostream& operator>>(ostream&,<类名>);

B.istream& operator>>(istream&,<类名>&);

C.ostream operator>>(ostream,<类名>&);

D.<类名>operator>>(istream&,<类名>&);


相似考题
参考答案和解析
正确答案:A
解析:本题考核运算符的重载。C++中重载输入流运算符>>和输出流运算符只能作为非类成员函数重载,且必须使用如下原形:istream&operator>>(istream&,类名>&);ostream&operator(ostream&,类名>);
更多“重载输入流运算符>>必须使用的原型为A.ostream&amp; operator>>(ostream&amp;,<类名>);B.istream ”相关问题
  • 第1题:

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

    A ) MyClock operator + (MyClock,long);

    B ) MyClock operator + (MyClock,MyClock);

    C ) MyClock operator + (long,long);

    D ) MyClock operator + (long,MyClock);


    正确答案:C

  • 第2题:

    重载输入流运算符))必须使用的原型为()。A.istream&operator>>(istream&,<类名>&);B.

    重载输入流运算符))必须使用的原型为( )。

    A.istream&operator>>(istream&,<类名>&);

    B.istream&operator>>(istream,<类名>);

    C.istreamoperator>>(istream,<类名>&);

    D.<类名>operator>>(istream&,<类名>&);


    正确答案:A
    解析: C++流的输入运算符“>>”和输出运算符“”只能作为非成员函数重载。重载输入流运算符“>>”须使用以下原型:istream&operator>>(istream&,类名>&);。

  • 第3题:

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

    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。

  • 第4题:

    重载输人流运算符>>必须使用的原型为( )。

    A.istream&operator>>(istream&,<类名>&);

    B.istream&operator>>(istream,<类名>);

    C.istreamoperator>>(istream,<类名>&);

    D.<类名>operator>>(istream&,<类名>&);


    正确答案:D
    A。【解析】C++流的输入运算符“>>”和输出运算符“<<”只能作为非成员函数重载。重载输入流运算符“>>”须使用的原型是istream&operator>>(istream&,<类名>&);。

  • 第5题:

    重载输入流运算符<<必须使用的原型为()。A.ostream& operator>>(ostream&,<类名>);B.istr

    重载输入流运算符<<必须使用的原型为( )。

    A.ostream& operator>>(ostream&,<类名>);

    B.istream& operator>>(istream&,<类名>&);

    C.ostream operator>>(ostream,<类名>&);

    D.<类名>operator>>(istream &,<类名>&);


    正确答案:A

  • 第6题:

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

    A.TestClass operator *(MyClass,double);

    B.TestClass operator *(double,MyClass);

    C.TestClass operator *(double,double);

    D.TestClass operator *(MyClass,MyClass);


    正确答案:C

  • 第7题:

    将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是( )。

    A.DeCr&operator--(int);

    B.DeCr operator--(DeCr&,int);

    C.friend DeCr&operator--(DeCr&);

    D.friend DeCr operator--(DeCr&,int);


    正确答案:D
    非成员函数重载用友元函数的形式实现,“--”运算符重载分为前置和后置两种重载方式。用友元函数来实现“--”运算符的重载时,前置“--”运算符的重载的一般格式为:friend<type>operator--(ClassName&);后置++运算符的重载的一般格式为:friend<type>operator--(ClassName&,int)。所以答案为D。

  • 第8题:

    重载输入流运算符>>必须使用的原型为()。A.istream& operator>>(istream&,<类名>&);B

    重载输入流运算符>>必须使用的原型为( )。

    A.istream& operator>>(istream&,<类名>&);

    B.istream& operator>>(istream,<类名>);

    C.istream operator>>(istream,<类名>&);

    D.<类名>operator>>(istream&,<类名>&);


    正确答案:A
    解析: C++流的输入运算符“>>”和输出运算符“”只能作为非成员函数重载。重载输入流运算符“>>”须使用以下原型:istream&operator>>(istream&,类名>&);。

  • 第9题:

    将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是( )。

    A.DeCr&operator--(int);

    B.DeCr operator--(DeCr&,int);

    C.friend DeCr&operator--(DeCr&);

    D.friend DeCr operator--(DeCr&,int);


    正确答案:D
    非成员函数重载用友元函数的形式实现,“--”运算符重载分为前置和后置两种重载方式。用友元函数来实现“--”运算符的重载时,前置“--”运算符的重载的一般格式为:friendoperator--(ClassName&);后置++运算符的重载的一般格式为:friendoperator--(ClassName&,int)。所以答案为D。

  • 第10题:

    运算符重载是通过函数来实现的,定义运算符重载函数时,函数名中要使用关键字operator。


    正确答案:正确

  • 第11题:

    单选题
    下面是重载为非成员函数的运算符函数原型,其中错误的是(  )。
    A

    Fraction operator+(Fraction,Fraction);

    B

    Fraction operator-(Fraction);

    C

    Fraction& operator=(Fraction&,Fraction);

    D

    Fraction& operator +=(Fraction&,Fraction);


    正确答案: A
    解析:
    C++语言规定,“=”运算符只能作为成员函数重载,不能作为非成员函数重载。

  • 第12题:

    单选题
    若需要为XV类重载乘法运算符,运算结果为XV类型,在将其声明为类的成员函数时,下列原型声明正确的是(  )。
    A

    XV operator*(XV,XV);

    B

    XV*(XV);

    C

    operator*(XV);

    D

    XV operatorv*(XV);


    正确答案: A
    解析:
    “*”是一个二元运算符,在作为成员函数重载时参数表中只有一个参数,第一个操作数就是对象本身,以this指针的形式隐藏在参数表中,因此,声明形式为“XV operatorv*(XV);”。

  • 第13题:

    下列是重载乘法运算符的函数原型声明,其中错误的是

    A.MyClass operator * (double, double);

    B.MyClass operator * (double, MyClass);

    C.MyClass operator * (MyClass, double);

    D.MyClass operator * (MyClass, MyClass);


    正确答案:A
    解析:本题考查的知识点是:运算符重载。C++把重载的运算符视为特殊的函数,称为运算符函数。运算符重载就是函数重载的一种特殊情况。像对待一般重载函数一样,编译系统能够依据使用运算符的不同环境,即参数(操作数)的数量或类型的差异,区分同一运算符的不同含义。本题中的选项A重载运算符“*”使用的形参是两个double,而系统中的“*”运算原本就能计算两个double,所以这违反了重载函数的原则,当执行a*b(a、b的类型均为double)这样的表达式时,系统不知道该执行默认的“乘法”还是用户自定义的运算符重载函数。故答案为选项A。

  • 第14题:

    下列是重载为非成员函数的运算符函数原型,其叶错误的是()。

    A.Fraction operator+(Fraction,Fraction);

    B.Fraction operator-(Fraction);

    C.Fraction&operator=(Fraction&,Fraction);

    D.Fraction&operator+=(Fraction&,Fraction);


    正确答案:C
    由于取负运算符″一″是一元运算符,当作为成员函数重载时参数表中没有参数,那个的操作数以this指针的形式隐藏在参数表中。

  • 第15题:

    重载输入流运算符<<必须使用的原型为A.ostream& operator>>(ostream&,<类名>);B.istream

    重载输入流运算符<<必须使用的原型为

    A.ostream& operator>>(ostream&,<类名>);

    B.istream&o perator>>(istream&,<类名>&);

    C.ostream operator>>(ostream,<类名>&);

    D.<类名>operator>>(istream&,<类名>&);


    正确答案:A
    解析:本题考核运算符的重载。C++中重载输入流运算符>>和输出流运算符只能作为非类成员函数重载,且必须使用如下原形:istream&operator>>(istream&,类名>&);ostream&operator(ostream&,类名>);

  • 第16题:

    重载输入流运算符>>必须使用的原型为A.istream& operator>>(istream&,<类名>&);B.is

    重载输入流运算符>>必须使用的原型为

    A.istream& operator>>(istream&,<类名>&);

    B.istream& operator>>(istream,<类名>);

    C.istream operator>>(istream,<类名>&);

    D.<类名>operator>>(istream&,<类名>&);


    正确答案:A
    解析:本题考核运算符的重载。C++中重载输入流运算符>>和输出流运算符只能作为非类成员函数重载,且必须使用如下原形:istream&operator>>(istream&,类名>&);ostream&operator(ostream&,类名>);

  • 第17题:

    运算符“+”允许重载为类成员函数,或者非成员函数。若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为【 】 函数。


    正确答案:非成员
    非成员 解析:“+”是一个二元运算符,当它作为成员函数重载时形参表中只有一个参数,对应于第二操作数,而第一操作数就是对象本身,以this指针的形式隐藏在形参表中。而当“+”作为非成员函数重载时,两个操作数都出现在形参表中。

  • 第18题:

    下列是重载为非成员函数的运算符函数原型,其中错误的是( )。

    A.Fractionoperator+(Fraction,Fraction);

    B.Fractionoperator-(Fraction);

    C.Fraction&operator=(Fraction&,Fraction);

    D.Fraction&operator+=(Fraction&,Fraction):


    正确答案:C
    C。【解析】由于取负运算符“-”是一元运算符,当作为成员函数重载时参数表中没有参数,那个唯一的操作数以this指针的形式隐藏在参数表中。

  • 第19题:

    下面是重载为非成员函数的运算符函数原型,其中错误的是

    A.Fraction operator+(Fraction,Fraction);

    B.Fraction operator-(Fraction);

    C.Fraction& perator=(Fraction&,Fraction);

    D.Fraction& operator+=(Fraction&,Fraction);


    正确答案:C
    解析:本题考查的知识点是运算符重载。C++中规定,“=”运算符只能作为成员函数重载,故本题的选项C是错误的。

  • 第20题:

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

    A.MyClass operator*(double,double);

    B.MyClass operator*(double,MyClass);

    C.MyClass operator*(MyClass,double);

    D.MyClassoperator*(MyClass,MyClass);


    正确答案:A
    解析: 此题考查的是乘法运算符的重载函数原型声明。因为操作的对象是类对象,所以重载函数的参数至少有一个是类对象。故选项A)中两个参数都为double型是错误的。

  • 第21题:

    下面是重载为非成员函数的运算符的函数原型,其中错误的是( )。

    A.Fraction operator+(Fraction,Fraction);

    B.Fraction operator一(Fraction);

    C.Fraction&operator=(Fraction&,Fraction);

    D.Fraction&operator+=(Fraction&,Fraction);


    正确答案:C
    本题考查四种运算符作为非成员函数的重载的使用方法,根据重载规则,本题答案为c,c项正确原型为:Fractionperator=(Fraction&)。

  • 第22题:

    单选题
    将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是(  )。
    A

    Deer& operator--(int);

    B

    Deer operator--(Deer&,int);

    C

    friend Deer& operator--(Deer&);

    D

    friend Deer operator--(Deer&,int);


    正确答案: D
    解析:
    前缀运算符“--”的操作结果有左值数据,重载时应保持这一特性。因此运算符函数的返回值应声明为引用,类型为Deer&;前缀运算符“--”要求第一操作数必须是有左值的操作数,因此对应于第一操作数的第一参数必须声明为引用参数,类型为Deer&。

  • 第23题:

    单选题
    重载输入流运算符“>>”必须使用的原型为(  )。
    A

    istream&operator>>(istream&,<类名>&);

    B

    istream&operator>>(istream,<类名>):

    C

    istream operator>>(istream,<类名>&);

    D

    <类:9>operator>>(istream&,<类名>&);


    正确答案: D
    解析:
    试题分析:{
    C++流的输入运算符“>>”和输出运算符“<<”只能作为非成员函数重载。重载输入流运算符“>>”须使用以下原型:istream& operator>>(istream&,<类名>&):。