用户定义的转换(User-defined Conversion)

是一种将一个类类型转换为另一种类型的机制

语法

operator conversion-type-id
explicit operator conversion-type-id  (C++11)

示例

Integer.h

#pragma once
#include <iostream>
class Integer
{
friend std::ostream &operator<<(std::ostream &os, const Integer &integer);
public:
Integer(int i);
operator int(); //user-defined conversion
private:
int i;
};

Integer.cpp

#include "Integer.h"
std::ostream &operator<<(std::ostream & os, const Integer & integer)
{
os << integer.i;
return os;
}
Integer::Integer(int i) : i(i) { }
Integer::operator int()
{
return i;
}

UserDefinedConversionExample.cpp

#include "Integer.h"
int main()
{
using namespace std;
Integer integer = ;
cout << "integer: " << integer << endl;
int i = integer;
cout << "i: " << i << endl;
system("pause");
return ;
}

参考链接:user-defined conversion - cppreference.com

最新文章

  1. android的EditText重新获取焦点问题
  2. T-SQL:毕业生出门需知系列(五)
  3. Google Protocol Buffer 的使用和原理
  4. nginx负载均衡的实现
  5. 如何在ARC代码中混编非ARC代码
  6. COJ 0801 非传统题(一)
  7. DELL配置信息
  8. tortoiseSVN 设置ignore
  9. Express NodeJs Web框架 入门笔记
  10. tpshop linux安装下注意事项
  11. Mysql乱码问题总结
  12. DHU--1247 Hat’s Words &amp;&amp; HiHocder--1014 Trie树 (字典树模版题)
  13. qemu对虚拟机的内存管理(二)
  14. 27.Hibernate-缓存和懒加载.md
  15. The number of method references in a .dex file cannot exceed 64K.(转)
  16. java web 实现文件夹上传(保留目录结构)
  17. powershell远程管理服务器磁盘空间的实现代码
  18. ZOJ-2753
  19. 搭建maven支持的web工程的步骤
  20. AC自动机例题

热门文章

  1. Vijos 1323: 化工厂装箱员
  2. LeetCode OJ--Longest Consecutive Sequence ***
  3. 无法安装64位版本的visio/office,因为在您的PC上找到了以下32位程序的解决办法
  4. Delphi 从PaintBox拷贝一部分内容到TBitmap
  5. OceanBase分区表有什么不同?
  6. ABP开发框架前后端开发系列---(2)框架的初步介绍
  7. 洛谷——P2404 自然数的拆分问题
  8. iOS -- SKEmitterNode类
  9. linux查看系统CPU,内存,硬盘使用情况
  10. caffe版faster-RCNN环境搭建