文章目录

  • 一、单目运算符的重载
  • 二、双目运算符的重载,使其能运算字符串的> < ==

一、单目运算符的重载

#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++单目运算符的重载与双目运算符的重载【案例】相关推荐

  1. C++双目/单目运算符的重载

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105148178 双 ...

  2. 下标运算符究竟是单目运算符还是双目运算符

    int arr[10] = { 0 }; arr[0] = 6; char str[100] = ""; str[0] = '8'; 凡是接触过编程的所有人都接触过这种写法吧. 学 ...

  3. c#中重载单目运算符-_C#程序重载二进制运算符(-,*,/)

    c#中重载单目运算符- Here, we will design overloaded methods for binary operators: minus, multiply and divide ...

  4. 单目运算符、双目运算符、三目运算符

    单目运算符是什么 单目运算符是指运算所需变量为一个的运算符 又叫一元运算符,其中有逻辑非运算符:!.按位取 反运算符:~.自增自减运算符:++,-等. 逻辑非运算符[!].按位取反运算符[~]. 自增 ...

  5. 如何单目运算符和双目运算符以及三目运算符

    1.单目运算符: 单目运算符是指运算所需变量为一个的运算符,又叫一元运算符,其中有逻辑非运算符:!.按位取反运算符:~.自增自减运算符:++, –等. 逻辑非运算符[!].按位取反运算符[~].自增自 ...

  6. 学习C++:单目运算符,双目运算符,三目运算符

    一.单目运算符: 自加:++ 自减:– 取反:~ 二.双目运算符 按位与:& 按位或:| 按位异或:^ 左移:<< 实际上,左移1位,就等于是乘以2,左移n位,就等于是乘以2^n. ...

  7. js 中的单目运算符,双目运算符与三目运算符区别

    单目运算符 :运算符只对一个变量进行操作. 双目运算符 :对两个变量进行操作. 三目运算符:运算符对三个变量进行操作. 这里记录一下.

  8. C语言单目运算符和双目运算符、三目运算符

    C语言中运算符分为单目,双目和三目 顾名思义,就是运算符的操作数的个数 单目就是一个操作数,比如++,a++,操作数只有一个a 双目就是两个操作数,最熟悉的就是+,a+b,计算a.b的和 三目就是三个 ...

  9. 单目运算符和双目运算符

    运算符分为单目,双目和三目 顾名思义,就是运算符的操作数的个数 单目就是一个操作数,比如++,a++,操作数只有一个a,写成a++b是非法的. 双目就是两个操作数,最熟悉的就是+,a+b,计算ab的和 ...

最新文章

  1. 工作流引擎设计之退回任务定义
  2. yii2手册_史上最全的技术手册整理总结,编程小白都从这篇文章迅速成为大牛...
  3. Semantic UI实现一个landing page
  4. 【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?
  5. a标签传值到另一个页面_前端开发入门——HTML基础标签
  6. Postgres XL 集群中各节点的角色和作用
  7. 【Python】【有趣的模块】【systimeos】
  8. Testing a React+Redux web application
  9. 项目过程管理(五)需求文档
  10. 微信怎么和计算机发送文件格式,微信电脑版文档怎么弄 文档发送教程
  11. 【STM32F429】第7章 ThreadX GUIX移植到STM32F429(MDK AC5)
  12. pytorch读取tif文件方法
  13. 如何快速制作App应用软件?国内有哪些比较好用的App制作平台?
  14. 瞬联基于OpenStack的私有云解决方案
  15. python外国网站爬虫_Python3网络爬虫(一):利用urllib进行简单的网页抓取
  16. [IOS APP]魔兽正史-魔兽世界有声小说
  17. 分布式系统与计算机网络
  18. vb 使用IAccessible接口获取QQ聊天记录
  19. 显示mapper找不到:Field xxxMapper in xxx required a bean of type ‘xxxMapper‘ that could not be found
  20. [转]关于数码摄影的几个误区

热门文章

  1. python模块下载失败_pycharm自动安装模块失败了怎么办
  2. matlab meshc函数_MATLAB三维图形
  3. 移除数组第一个元素_3分钟短文 | PHP 数组删除元素,忘了foreach吧,有更优雅的方式...
  4. mysql数据库表子查询语句_MySQL使用子查询教程
  5. 怎么解决 数据丢失的问题_硬盘数据丢失怎么恢复
  6. android 仿ios三级联动,仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果...
  7. pythonutf-8是不是二进制_python集合、字符编码、bytes与二进制
  8. php序列化函数输入0存不了,php序列化函数的区别
  9. 用计算机参加关于动漫的工作计划,动漫社团年度工作计划
  10. linux配置caffe环境,ubuntu14.04环境下配置caffe