C++单目运算符的重载与双目运算符的重载【案例】
文章目录
- 一、单目运算符的重载
- 二、双目运算符的重载,使其能运算字符串的> < ==
一、单目运算符的重载
#include <iostream>
using namespace std;
class Time
{public:Time() //定义无参构造函数 {minute=0; sec=0;}Time(int m, int s):minute(m), sec(s){ } //初始化列表方法定义带参构造函数 Time operator ++ (); //声明运算符重载成员函数void display(){cout << minute << ":" << sec << " "; //定义时间输出函数 }
private: //私有成员数据int minute;int sec;
};//定义运算符重载成员函数
Time Time::operator ++()
{if(++sec>=60){sec -= 60; //将秒置零 ++minute; //满60秒将分钟加1 return *this; //返回当前对象的值 }
}int main()
{Time time1(34,0); //实例化对象time1for(int i=0; i<61; i++){++time1; //循环61次,每次将时间加1操作 time1.display(); //调用对象的输出函数 }return 0;
}
二、双目运算符的重载,使其能运算字符串的> < ==
#include <iostream>
#include <string.h> //引入字符串库
using namespace std;class String
{public:String() //定义默认构造函数{p=NULL; } String(char *str); //声明带参构造函数//声明重载运算符>的函数,类型为bool类型,参数为两个引用类型,即对象string1,string2//声明运算符函数为友元函数 friend bool operator > (String &string1, String &string2);void display(); //定义普通成员函数,显示出数据
private:char *p; //定义字符型指针,用于指向字符串
};//定义带参构造函数
String::String(char *str)
{p= str; //使p指针指向实参字符串
}//输出p所指向的字符串
void String::display()
{cout << p;
}//定义双目>号运算符重载函数
bool operator > (String &string1, String &string2)
{if(strcmp(string1.p, string2.p)>0) //调用string库 字符串比较函数return true;else return false;
}int main()
{String string1("Hello"), string2("Book"); //实例化两个对象string1.display(); //调用共有成员函数 cout << endl;string2.display();bool res; //存放字符串的判断大小的返回值 string result; //存放是大于还是小于 cout << endl;res= string1>string2;if(res==1) //若重载函数<的返回值为1,则表明string1大于string2 result= "大于"; elseresult= "小于";cout << "字符串";string1.display();cout << result; //判断结果 string2.display();cout << endl;return 0;
}
C++单目运算符的重载与双目运算符的重载【案例】相关推荐
- C++双目/单目运算符的重载
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105148178 双 ...
- 下标运算符究竟是单目运算符还是双目运算符
int arr[10] = { 0 }; arr[0] = 6; char str[100] = ""; str[0] = '8'; 凡是接触过编程的所有人都接触过这种写法吧. 学 ...
- c#中重载单目运算符-_C#程序重载二进制运算符(-,*,/)
c#中重载单目运算符- Here, we will design overloaded methods for binary operators: minus, multiply and divide ...
- 单目运算符、双目运算符、三目运算符
单目运算符是什么 单目运算符是指运算所需变量为一个的运算符 又叫一元运算符,其中有逻辑非运算符:!.按位取 反运算符:~.自增自减运算符:++,-等. 逻辑非运算符[!].按位取反运算符[~]. 自增 ...
- 如何单目运算符和双目运算符以及三目运算符
1.单目运算符: 单目运算符是指运算所需变量为一个的运算符,又叫一元运算符,其中有逻辑非运算符:!.按位取反运算符:~.自增自减运算符:++, –等. 逻辑非运算符[!].按位取反运算符[~].自增自 ...
- 学习C++:单目运算符,双目运算符,三目运算符
一.单目运算符: 自加:++ 自减:– 取反:~ 二.双目运算符 按位与:& 按位或:| 按位异或:^ 左移:<< 实际上,左移1位,就等于是乘以2,左移n位,就等于是乘以2^n. ...
- js 中的单目运算符,双目运算符与三目运算符区别
单目运算符 :运算符只对一个变量进行操作. 双目运算符 :对两个变量进行操作. 三目运算符:运算符对三个变量进行操作. 这里记录一下.
- C语言单目运算符和双目运算符、三目运算符
C语言中运算符分为单目,双目和三目 顾名思义,就是运算符的操作数的个数 单目就是一个操作数,比如++,a++,操作数只有一个a 双目就是两个操作数,最熟悉的就是+,a+b,计算a.b的和 三目就是三个 ...
- 单目运算符和双目运算符
运算符分为单目,双目和三目 顾名思义,就是运算符的操作数的个数 单目就是一个操作数,比如++,a++,操作数只有一个a,写成a++b是非法的. 双目就是两个操作数,最熟悉的就是+,a+b,计算ab的和 ...
最新文章
- 工作流引擎设计之退回任务定义
- yii2手册_史上最全的技术手册整理总结,编程小白都从这篇文章迅速成为大牛...
- Semantic UI实现一个landing page
- 【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?
- a标签传值到另一个页面_前端开发入门——HTML基础标签
- Postgres XL 集群中各节点的角色和作用
- 【Python】【有趣的模块】【systimeos】
- Testing a React+Redux web application
- 项目过程管理(五)需求文档
- 微信怎么和计算机发送文件格式,微信电脑版文档怎么弄 文档发送教程
- 【STM32F429】第7章 ThreadX GUIX移植到STM32F429(MDK AC5)
- pytorch读取tif文件方法
- 如何快速制作App应用软件?国内有哪些比较好用的App制作平台?
- 瞬联基于OpenStack的私有云解决方案
- python外国网站爬虫_Python3网络爬虫(一):利用urllib进行简单的网页抓取
- [IOS APP]魔兽正史-魔兽世界有声小说
- 分布式系统与计算机网络
- vb 使用IAccessible接口获取QQ聊天记录
- 显示mapper找不到:Field xxxMapper in xxx required a bean of type ‘xxxMapper‘ that could not be found
- [转]关于数码摄影的几个误区
热门文章
- python模块下载失败_pycharm自动安装模块失败了怎么办
- matlab meshc函数_MATLAB三维图形
- 移除数组第一个元素_3分钟短文 | PHP 数组删除元素,忘了foreach吧,有更优雅的方式...
- mysql数据库表子查询语句_MySQL使用子查询教程
- 怎么解决 数据丢失的问题_硬盘数据丢失怎么恢复
- android 仿ios三级联动,仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果...
- pythonutf-8是不是二进制_python集合、字符编码、bytes与二进制
- php序列化函数输入0存不了,php序列化函数的区别
- 用计算机参加关于动漫的工作计划,动漫社团年度工作计划
- linux配置caffe环境,ubuntu14.04环境下配置caffe