c++中的类型转换函数
时间: 2024-02-25 11:59:21 浏览: 82
C++中的类型转换函数指的是类中定义的可以将类的一个类型转换为另一个类型的成员函数。它们有以下几种形式:
1. 转换构造函数:将其他类型的值转换为类的对象
```cpp
class A {
public:
A(int value) : m_value(value) {}
private:
int m_value;
};
int main() {
A a = 10; // 调用转换构造函数,将int类型的值转换为A类型的对象
return 0;
}
```
2. 类型转换运算符:将类的对象转换为其他类型的值
```cpp
class A {
public:
operator int() const { return m_value; } // 将A类型的对象转换为int类型的值
private:
int m_value;
};
int main() {
A a(10);
int b = a; // 调用类型转换运算符,将A类型的对象转换为int类型的值
return 0;
}
```
3. 显式类型转换运算符:将类的对象强制转换为其他类型的值
```cpp
class A {
public:
explicit operator int() const { return m_value; } // 将A类型的对象强制转换为int类型的值
private:
int m_value;
};
int main() {
A a(10);
int b = static_cast<int>(a); // 调用显式类型转换运算符,将A类型的对象强制转换为int类型的值
return 0;
}
```
阅读全文