《C++ Primer Plus》:使用类

2020-07-29  本文已影响0人  Dragon_boy

运算符重载

*运算符就是运算符重载的一个例子,可以用作乘法,也可以用于操作地址获取存储在地址中的值。

要重载一个运算符,可以这么写:

operatorop(argument-list)

op是运算符,比如operator+()重载+operator*()重载*

注意,重载运算符有限制:

友元

C++控制对类对象私有部分的访问,通常,公有类方法提供唯一的访问途径,不过限制太大。C++提供了另一种形式的访问权限,友元:友元函数、友元类、友元成员函数。

友元函数使用friend关键字,在类中定义原型:

friend Time operator*(double m, const Time& t);

operator*()函数在类声明中声明,但它不是成员函数,因此不能使用成员运算符来调用,不过与成员函数的访问权限相同。

编写友元函数定义时,不使用类作用域,定义:

Time operator*(double m, const Time& t){}
上一篇 下一篇

猜你喜欢

热点阅读