C++ class内的 < 和 > 重载,大于号,小于号,重载示例。

#include <iostream>

// overloading "operator = " outside class
// < 和 > 是二元操作符

//////////////////////////////////////////////////////////

class Rectangle
{
public:
	Rectangle(int w, int h)
		: width(w), height(h)
	{};

	~Rectangle() {};

	bool operator< (Rectangle& rec);//注意比较的顺序。this是被比的对象。
	bool operator> (Rectangle& rec);

public:
	int width;
	int height;
};

bool
Rectangle::operator< (Rectangle & rec)//相同的class对象互为友元,所以可以访问private对象。< 是二元操作符,class内隐藏了this
{
	return this->height * this->width < rec.height * rec.width;
}

bool
Rectangle::operator> (Rectangle & rec)//二元操作符,class内隐藏了this
{
	return !(*this < rec);
}

//////////////////////////////////////////////////////////

int main()
{
	Rectangle a(40, 10);
	Rectangle b(40, 56);

	std::cout << (a < b) << std::endl;
	std::cout << (a > b) << std::endl;

	return 0;
}

  

原文地址:https://www.cnblogs.com/alexYuin/p/11965190.html

时间: 2024-10-11 10:27:49

C++ class内的 < 和 > 重载,大于号,小于号,重载示例。的相关文章

java项目中, mybatis的sql XML文件,在写sql语句时,大于号小于号转义

因为这个是xml文件不允许出现类似">"这样的字符 用了转义字符把>和<替换掉,然后就没有问题了. XML转义字符 字段 符号 说明 &lt ; < 小于号 &gt ; > 大于号 &amp ; & 和 &apos ; ' 单引号 &quot ; " 双引号 原文出处 http://blog.csdn.net/qq_28587263/article/details/54138998

mybatis在xml文件中处理大于号小于号的方法

一. 转义: < < 小于号 > > 大于号 & & 和 &apos; ’ 单引号 " " 双引号 二: 用如下方法:<![CDATA[ <=t.end_date]]>

Mybatis在xml文件中处理大于号小于号的问题

第一种办法 用了转义字符把>和<替换掉,然后就没有问题了. SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE 附:XML转义字符 <             <         小于号 >          >           大于号 &        &        和 &apos ;      

MyBatis SQL处理大于、小于号

MyBatis mapper文件是xml文件,需要特殊字符如大于号.小于号后需要转义. 原字符 转义后字符 < < <= <= > > > >=

java mybatis中大于号小于号的转义

大于号:  > 小于号:   <

easyui combobox下拉框中显示大于号小于号的问题

前两天同事做了个功能,通过勾选下拉框里的值进行列表查询,结果下拉框里的值是“0<t<=2”.“2<t<=5”.“t>5”这样的. combobox是用脚本渲染出来的,里面的data的格式就如这样: [{ID:"01",TEXT:"0<t<=2"},{ID:"02",TEXT:"2<t<=5"},{ID:"03",TEXT:"t>5&quo

在Mybatis中处理sql中的大于号小于号

因为xml格式中,不能随便出现"<".">"等符号,所以在sql中这一类的符号要进行特殊处理 第一种方法:使用转义字符替换特殊的符号 例如 SELECT * FROM jy_handle WHERE createTime > "2017-07-27 00:00:00" 可以转换为  SELECT * FROM jy_handle WHERE createTime > "2017-07-27 00:00:00&qu

xml中sql的大于号小于号处理

当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误. 其实很简单,我们只需作如下替换即可避免上述的错误: 原符号 < <= > >= & ' " 替换符号 < <= > >= & &apos; "

html的输出&amp;,空格,大小于号

最近定做安装程序,因为这次定做名字里有&符号,用微软的txt文本打开配置文件,在配置文件里修改了名称,名称在文本里显示正常,但是定做出来后,发现&符号变成了_下划线,在本来的&符号后面的字母下方多了个下划线.我试了试,前后的字母离开一个空格,再定做了一次,发现还是显示成下划线,两个字母之间有个下划线出现.之后,把所有名字都删除了,复制了多个&,然后定做了一个试试,发现前面显示了几个&符号,然后我又试验了两个&&符号,发现两个&&符号显

重载小于号

加上const保证小于号两边数据不会发生改变. 注:Stl中的堆为大根堆 可以重载大于号,使其变为小根堆.