c++,运算符重载,左移运算符自增运算符。
假设有类A,它的私有成员是一个整型变量a_
A a;
我们想要把它的私有成员直接用 cout<<a<<endl 输出的话要用到左移运算符的重载。
我们把<<运算符重载为全局函数,在类A中设为友元,即可直接用cout输出。
关于自增运算符,要实现a++,++a;需要重载前置自增,后置自增运算符。
#include<iostream>
using namespace std;
class A
{friend ostream& operator<<(ostream& cout, A& A_);
private:int a_num;
public:A() = default; // 自动生成无参构造函数 A(int x) :a_num(x) {} // 构造函数 A& operator++() // 重载前置自增运算符 {a_num++;return *this;}
};
ostream& operator<<(ostream& cout, A& A_) // 重载左移运算符
{cout << A_.a_num;return cout;
}
int main()
{A a1(5);cout << "before:" << a1 << endl;cout << "after:" << ++a1 << endl;cout << "final:" << a1 << endl;system("pause");return 0;
}
c++,运算符重载,左移运算符自增运算符。相关推荐
- 运算符重载——左移运算符重载
目录: 运算符重载--算术运算符重载 运算符重载--递增运算符重载 运算符重载--左移运算符重载 运算符重载--赋值运算符重载 应用场景: 可以输出自定义的数据类型信息 Person p(" ...
- C++ 运算符重载(二) | 类型转换运算符,二义性问题
文章目录 类型转换运算符 概念 避免过度使用类型转换函数 解决上述问题的方法 转换为 bool 显式的类型转换运算符 类型转换二义性 重载函数与类型转换结合导致的二义性 重载运算符与类型转换结合导致的 ...
- [转载] python 运算符重载有什么用_Python运算符重载用法实例分析
参考链接: Python运算符重载 本文实例讲述了Python运算符重载用法.分享给大家供大家参考.具体如下: 在Python语言中提供了类似于C++的运算符重在功能: 一下为Python运算符重在调 ...
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
问题及代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:number.cpp *作 者:单昕昕 *完成日期:20 ...
- 【++运算符重载】c++实现递增运算符重载
作用: 通过重载递增运算符,实现自己的整型数据 class MyInteger {friend ostream& operator<<(ostream& out, MyIn ...
- c/c++入门教程 - 2.4.5 c++运算符重载(加号、左移、递增、赋值、关系、函数调用)
目录 4.5 运算符重载 4.5.1 加号运算符重载 4.5.2 左移运算符重载 4.5.3 递增运算符重载 4.5.4 赋值运算符重载 4.5.5 关系运算符重载 4.5.6 函数调用运算符重载 相 ...
- 【C++ 语言】面向对象 ( 函数重载 | 运算符重载 | 运算符重载两种定义方式 | 拷贝构造方法 | RVO 优化 | NRVO 优化 )
文章目录 函数重载 运算符重载 ( 类内部定义云算符重载 ) 运算符重载 ( 类外部定义运算符重载 ) 可重载的运算符 拷贝构造方法 编译器优化 ( RVO 优化 | NRVO 优化 ) 完整代码示例 ...
- C++从0到1的入门级教学(十二)——运算符重载
文章目录 12 运算符重载 12.1 加法运算符重载 12.2 左移运算符重载 12.2.1 演示与说明 12.2.2 常见的友元使用:重载>>运算符 12.3 递增运算符重载 12.4 ...
- 【黑马程序员 C++教程从0到1入门编程】【笔记4】C++核心编程(类和对象——封装、权限、对象的初始化和清理、构造函数、析构函数、深拷贝、浅拷贝、初始化列表、友元friend、运算符重载)
黑马程序员C++教程 文章目录 4 类和对象(类属性[成员属性],类函数[成员函数]) 4.1 封装 4.1.1 封装的意义(三种权限:public公共.protected保护.private私有)( ...
- C++运算符重载讲解与经典实例
转自:http://blog.csdn.net/dingyuanpu/article/details/5852825 C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型 ...
最新文章
- 小区社交应用:如何打破近在眼前的物理障碍和陌生感?
- 09.span query 查询
- 实用常识 | 巧妙使用IA图片助手多地址提取批量下载(老白嫖怪了)
- java 画笔跟swing组件_「软帝学院」:2019思维最清晰的java学习路线
- mac mysql docker_docker学习(5) 在mac中创建mysql docker容器
- 《操作系统》实验报告——进程通信
- bmp qimage 保存位_在Qt中保存QImage(Save a QImage in Qt)
- 空号检测模块设计原理
- 陪学读书会——《定位》第十三章:品牌延伸何时有效
- matlab命令行运行,命令行运行matlab
- 罗马数字数字1到10对照表
- 计算机提示资源管理器停止,windows资源管理器已停止工作,教您提示win资源管理器已停止工作...
- 毛玻璃效果 php,CSS3打造磨砂玻璃背景效果
- ldslite是什么启动项_windows文件夹删除时提示正在被使用无法删除怎么办?
- c语言中优先级劣后级,基金优先级与劣后级的区别是什么 看完你就明白了
- Linkis和DSS本地和远程调试文档
- Apple Color Emoji打开
- TOOL 一个裴蜀定理解析器
- 幕布,为知笔记和Effie哪个更适合采编呢?
- web安全之路(一)