C++:关系运算符重载及函数调用运算符调用

 

C++:关系运算符重载及函数调用运算符调用

一、关系运算符重载

#include 
#include 
using namespace std;

class Person
{
  public:
		Person(){};
		explicit Person(const string name, const int age)
		{
			this->name = name;
			this->age = age;
		}
		
		bool operator==(const Person& p)
		{
			if(this->name == p.name && this->age==p.age)
			{
				return true;
			}
			return false;
		}
		
	private:
		string name;
		int age;
};

// 关系运算符重载
int main()
{
	Person p1("Tom", 18);
	Person p2("Tom", 18);
	if(p1==p2)
	{
		cout<<"p1 = p2"<

二、函数调用运算符调用

#include 
#include 
using namespace std;

class Print
{
public:
	void operator()(string text)
	{
		cout<

三、注意

逻辑关系运算符&&(与)和||(或)不能进行重载 - 存在短路特性.

四、建议

<<和>>写成全局函数,其他符号重载函数一般都可以考虑写成成员函数.

你可能感兴趣的:(C++入门,c++)