自定义流操作符 重载wcout
开发过程中的记录,Mark一下,以后也会用到.
#include <iostream>
#include <sstream>
#include <cassert>using namespace std;class mystreamw
{
private: wstringstream _ss;wstring _str;
public:friend mystreamw& myend(mystreamw& ms);friend wostream& operator <<(wostream& os, const mystreamw& ms);
public:mystreamw& operator<< (const int& val ){_ss <<val;wcout << val;return *this;}mystreamw& operator<< (const wchar_t* s ){_ss <<s;wcout << s;return *this;}mystreamw& operator<< (const double& val){_ss <<val;wcout << val;return *this;}mystreamw& operator<<(mystreamw& ( __cdecl *fun)(mystreamw&) );
}; mystreamw& myend(mystreamw& ms)
{ ms._str = ms._ss.str(); wcout << endl;return ms;
}wostream& operator <<(wostream& os, const mystreamw& ms)
{os<<ms._str;return os;
}mystreamw& mystreamw::operator<<(mystreamw& (*fun)(mystreamw&) )
{ assert(NULL != fun);return ((*fun)(*this));
}int _tmain(int argc, _TCHAR* argv[])
{mystreamw mywcout;mywcout << 5 << _T("abc") << 3.57 << myend; mywcout << 666 << myend;getchar();return 0;
}
自定义流操作符 重载wcout相关推荐
- C++ 流操作符重载函数
1. 问题 在C++中,在进行输入输出操作时,我们首先会想到用cout, cin这两个库操作语句来实现,比如 cout << 8 << "hello world!&q ...
- C#构造函数、操作符重载以及自定义类型转换
构造器 构造器(构造函数)是将类型的实例初始化的特殊方法.构造器可分为实例构造器和类型构造器,本节将详细介绍有关内容. 实例构造器 顾名思义,实例构造器的作用就是对类型的实例进行初始化.如果类没有显示 ...
- python中线程安全的数据结构_Scala(八)-①-数据结构-集合操作-线程安全的集合-操作符重载...
① 集合操作 Why 为什么需要集合操作?集合操作都包括哪些?Scala的集合操作主要为了适应大数据的发展,我们以Map为例.于事需入局,于程需入题,先看下题. 入题 请将list(3,5,7) 中的 ...
- C++拾趣——有趣的操作符重载
操作符重载是C++语言中一个非常有用的特性.它可以让我们比较优雅的简化代码,从而更加方便的编写逻辑. 为什么要使用操作符重载 一种常见的用法是重载<<运算符,让标准输出可以输出自定义的类型 ...
- C++中的new和delete操作符重载
文章目录 1 new和delete操作符重载 1.1 new和delete操作符重载简介 1.2 静态存储区中创建动态对象 1.3 在指定的地址上创建C++对象 2 new[]和delete[]操作符 ...
- Python3 操作符重载方法
操作符重载方法: 类(class)通过使用特殊名称的方法(len(self))来实现被特殊语法(len())的调用 类(class)通过使用特殊名称的方法(len(self))来实现被特殊语法(len ...
- 拷贝构造,操作符重载
拷贝构造 #include <iostream> #include <string.h> using namespace std; class mystring { pu ...
- C++基础11-类和对象之操作符重载2
总结: 1.等号操作符重载和拷贝构造函数重载一般用在数据成员中需要单独在堆区开辟内存时(指针) 2.new,delete重载内部还是使用malloc和free 3.逗号表达式(,).或者(||),且( ...
- C++基础11-类和对象之操作符重载1
总结: 1.运算符重载的本质是函数重载 2.运算符重载可分为成员函数重载和全局函数重载(差一个参数) 3.运算符重载函数的参数至少有一个是类对象(或类对象的引用) 4.不可以被重载的操作符有:成员选择 ...
最新文章
- java回顾之继承 二
- Ant Design 3.0 使用案例
- python queue_Python-Queue 入门
- M1芯片Mac也可以安装Windows系统啦 使用PD16虚拟机安装ARM版Windows10教程
- express获取参数的几种方法
- 阿里云2017财年:营收66.63亿 同比增长121%
- linux下飞信安装详细过程
- 如何按行政区划下载谷歌地图并裁剪
- openflow交换机 ryu_ryu—交换机
- 前方高能!看小伙是怎么表白粉丝的
- linux文件权限的例子,Linux基础教程之linux文件权限深度解读
- yum https ssl双向认证 证书申请
- android 模拟器输入中文
- 记得第一次看见他的时候,他刚被收容所送
- python中import的使用
- NAT-DDNS内网穿透技术,解决动态域名解析难题
- 扬州首套旅游数字藏品“扬州园林”,打造数字化元宇宙城市名片
- 解决达梦数据库DM8创建用户提示:“密码长处不符合要求”问题
- 【人工智能】机器人和AI崛起,服务型经济的春天来了
- 你所需要了解的关于技术团队的要求
热门文章
- Django:ORM关系字段
- 复杂链表的复制(递归的两种实现方式)
- HTML 常用标签演示
- 查看APK中MD5签名的方法
- lambda表达式初步
- [物理学与PDEs]第1章第3节 真空中的 Maxwell 方程组, Lorentz 力 3.1 真空中的 Maxwell 方程组...
- linux使用权限模式启动mongodb,Linux安装MongoDB启动及常见问题解决
- [Python学习] 专题四.文件基础知识
- HarmonyOS之AI能力·关键字提取
- 深入分析python的and or 返回值