1.
以下运算符函数中肯定不属于类
FunNumber
的成员函数的?/p>
__D____
?/p>
本题考查的是类的成员函数?/p>
选项
A
是重载了负号或减法运算符,由于减法运算符它具有两个操作数,而题面原
型中只有一个,如果重载的是减号运算符,则必为成员函数?/p>
选项
B
中由于没参数,无论是负号或减法运算符至少具有一个参数,所以它必为?/p>
员函数,同时也必定是重载了负号运算符?/p>
选项
C
是必定以成函数的方式重载,因?/p>
C++
规定不能对内置类的运算符进行重载?/p>
所以它不可能是友元函数(因为操作数为内置的
int
型),所以必为成员函数重载,?/p>
必定是重载了减法运算符?/p>
选项
D
有两个参数,无论是负号或减法运算符,其操作数不超
2
个,所以必定为友元
函数重载,且重载了减法运算符?/p>
故本题答案为
D
?/p>
2.
运算符重载是对已有的运算符赋予多重含义,因此
__C____
?/p>
本题主要考查了运算符重载?/p>
C++
在重载运算符时,必须符合下面的条件:
1
、不能重载内?/p>
C++
数据类型(如
int
?/p>
double
等类型)的运算符的含义;
2
、不能定?/p>
C++
中没有的运算符;
3
、不能改变重载运算符的优先级与操作数的个数;
4
、有些运算符不能被重载,如域运算符(
::
?/p>
,条件运算符?/p>
?:
)等,具体哪些运
算符不能被重载与编译器有关?/p>
3.
有如下程序:
#include <iostream>
using namespace std;