C++笔记之用户定义的转换
2024-09-29 23:44:14
用户定义的转换(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
最新文章
- android的EditText重新获取焦点问题
- T-SQL:毕业生出门需知系列(五)
- Google Protocol Buffer 的使用和原理
- nginx负载均衡的实现
- 如何在ARC代码中混编非ARC代码
- COJ 0801 非传统题(一)
- DELL配置信息
- tortoiseSVN 设置ignore
- Express NodeJs Web框架 入门笔记
- tpshop linux安装下注意事项
- Mysql乱码问题总结
- DHU--1247 Hat’s Words &;&; HiHocder--1014 Trie树 (字典树模版题)
- qemu对虚拟机的内存管理(二)
- 27.Hibernate-缓存和懒加载.md
- The number of method references in a .dex file cannot exceed 64K.(转)
- java web 实现文件夹上传(保留目录结构)
- powershell远程管理服务器磁盘空间的实现代码
- ZOJ-2753
- 搭建maven支持的web工程的步骤
- AC自动机例题
热门文章
- Vijos 1323: 化工厂装箱员
- LeetCode OJ--Longest Consecutive Sequence ***
- 无法安装64位版本的visio/office,因为在您的PC上找到了以下32位程序的解决办法
- Delphi 从PaintBox拷贝一部分内容到TBitmap
- OceanBase分区表有什么不同?
- ABP开发框架前后端开发系列---(2)框架的初步介绍
- 洛谷——P2404 自然数的拆分问题
- iOS -- SKEmitterNode类
- linux查看系统CPU,内存,硬盘使用情况
- caffe版faster-RCNN环境搭建