计算机二级

重载输入流运算符>>必须使用的原型为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&,<类名>&);

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A ) MyClass operator*(double,double);

B ) MyClass operator*(double,MyClass);

C ) MyClass operator*(MyClass,double);

D ) MyClass operator*(MyClass,MyClass);


正确答案:A

第2题:

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

A ) MyClock operator + (MyClock,long);

B ) MyClock operator + (MyClock,MyClock);

C ) MyClock operator + (long,long);

D ) MyClock operator + (long,MyClock);


正确答案:C

第3题:

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

A . Fraction operator + (Fraction, Fraction);

B . Fraction operator - (Fraction);

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

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


正确答案:C

第4题:

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

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。

第5题:

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

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

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

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

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

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


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

第6题:

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

A ) Decr& operator --(int);

B ) Decr operator --( Decr&,int);

C ) friend Decr& operator --(Decr&);

D ) frlend Decr operator --(Decr&,int);


正确答案:C

第7题:

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

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。

第8题:

在下面的运算符重载函数的原型中,错误的是

A.Volume operator-(double,double);

B.double Volume::operator-(double);

C.Volume Volume::operator-(Volume);

D.Volume operator-(Volume,Volume);


正确答案:A
解析:本题考核运算符重载。C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字operator。运算符重载的定义格式:返回类型>operator  运算符号>(参数说明);
 运算符“一”是二元运算符,A选项中重载函数的形参列表都double,而重载函数的返回类型为类Volume,显然是错误的。

第9题:

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

A.Fraction operator+(Fraction,Fraction);

B.Fraction operator-(Fraction);

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

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


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

第10题:

重载输入流运算符<<必须使用的原型为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&,类名>);

更多相关问题