C++中绝大部分的运算符允许重载。
不能重载的运算符只有5个:
(1). (成员访问运算符)。
(2).* (成员指针访问运算符)。
(3)∷(域运算符)。
(4)sizeof(长度运算符)。
(5)?: (条件运算符)。
c++成员运算符重载和友元运算符重载的比较
1、对双目运算符而言,成员运算符重载函数参数列表中含有一个参数,而友元运算符重载函数参数列表含有两个参数;对单目运算符而言,成员运算符重载函数参数列表中没有参数,而友元运算符重载函数参数列表含有一个参数。
2、双目运算符一班可以被重载为友元运算符和成员函数运算符,但是当一个整数与一个复数相加时,必须使用友元函数。c++强制转换
c++强制转换
除了普通的变量前面加类型转换,还有四种c++特有的转换static_cast、dynamic_cast、const_cast、reinterpret_cast,用于继承类之间的转换
使用:
static_cast<new_type> (expression)
dynamic_cast<new_type> (expression)
const_cast<new_type> (expression)
reinterpret_cast<new_type> (expression)