c++:类型转换函数
简介
在C++中,类型转换运算符(也称为类型转换函数或转换函数)是一种特殊的成员函数,它允许将一个类类型的对象转换为其他类型。转换运算符的声明形式如下:
operator type() const;
关键点
-
声明:在类内部声明,没有返回类型(因为
type
已经表示了返回类型),没有参数。 -
const:通常声明为const,因为它不应该修改对象。
-
隐式调用:编译器可以在需要类型
type
的地方自动调用该转换函数,这可能导致意料之外的类型转换。因此,有时候需要避免隐式转换。
示例
class MyInt {int value;public:MyInt(int v) : value(v) {}// 转换运算符:将MyInt转换为intoperator int() const {return value;}
};int main() {MyInt mi(10);int n = mi; // 隐式调用operator int()int m = static_cast<int>(mi); // 显式调用
}