C++ 用operator实现隐式类型转换
2018-03-08 21:32
239 查看
Operator用于C++的运算符重载,同时也可用于隐式类型转换,看下面这个例#include <iostream>
template<typename _T>
class A {
public:
A(_T a) : data(a) {}
operator _T () { return data; }
private:
_T data;
};
int main() {
A<int> obj(2);
obj = obj + 1;
std::cout << obj << std::endl;
return 0;
}程序输出为3,因为obj = obj + 1将调用运算符重载,将obj的data成员返回。
template<typename _T>
class A {
public:
A(_T a) : data(a) {}
operator _T () { return data; }
private:
_T data;
};
int main() {
A<int> obj(2);
obj = obj + 1;
std::cout << obj << std::endl;
return 0;
}程序输出为3,因为obj = obj + 1将调用运算符重载,将obj的data成员返回。
相关文章推荐
- 利用operator实现隐式类型转换的简单应用
- [C++再学习系列] 隐式类型转换与转换操作符operator T
- c#实现隐式的用户自定义类型转换(关键字implicit operator)
- C++隐式类型转换 operator
- 隐式类型转换(C++学习)
- More Effective C++----(21)通过重载避免隐式类型转换
- C++类型的隐式转换和显式转换
- C++ 中operator用法:隐式类型转换
- C#中的不同类型之间的显式与隐式转换实现
- 利用重载避免隐式类型转换(More Effective C++_21(效率))
- C++ stringstream实现不同类型数据的转换
- C++隐式类型转换
- 从Qt谈到C++(一):关键字explicit与隐式类型转换
- c++类型转换static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较,显示转换,隐式转换
- C++:显式和隐式初始化、显式和隐式类型转换
- c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast
- C++类型转换分为:隐式类型转换和显式类型转换
- 关于C++中的类型转换(隐式转换)
- 【菜鸟C++学习笔记】27.通过operator关键字进行类型转换