试题详情
- 简答题操作符重载的形式有哪两种形式?这两种形式有什么区别?
-
一种就是作为成员函数重载操作符;另一种就是作为全局(友元)函数重载操作符。
当操作符作为类的非静态成员函数来重载时,由于成员函数已经有一个隐藏的参数this,因此对于双目操作符重载函数只需要提供一个参数,对于单目操作符重载函数则不需提供参数。
当操作符作为全局函数来重载时,操作符重载函数的参数类型至少有一个为类、结构、枚举或它们的引用类型。而且如果要访问参数类的私有成员,还需要把该函数说明成相应类的友元。对于双目操作符重载函数需要两个参数,对于单目操作符重载函数则需要给出一个参数。操作符=、()、[]以及->不能作为全局函数来重载。
另外,作为类成员函数来重载时,操作符的第一个操作数必须是类的对象,全局函数重载则否。 关注下方微信公众号,在线模考后查看
热门试题
- 编程解决下面的问题:若一头小母牛,从出生
- 设有一个矩阵:,现把它放在一个二维数组a
- C++的单词分成哪些种类?
- 简述冯•诺依曼计算机的工作模
- 写出下面程序的运行结果:
- 把在链表中插入一个新结点的操作写成一个函
- 实现下面的数组元素交换位置函数: 该函
- 为什么要对操作符进行重载?是否所有的操作
- 编写一个程序,从键盘输入一个正整数,判断
- 在C++中,三种继承方式各有什么作用?
- 写一个函数map,它有三个参数。第一个参
- 低级语言与高级语言的不同之处是什么?
- 编写一个程序,对输入的一个算术表达式(以
- 编写一个程序,计算一个矩阵的鞍点。矩阵的
- 下面的交换函数正确吗?
- 编写一个函数find_replace_s
- 编写一个函数digit(n,k),它计算
- 什么是软件?软件是如何分类的?
- 下面的设计有什么问题?如何解决?
- 写出下面程序的运行结果: