首页 » 技术分享 » 在C++中把operator==定义为类的成员函数

在C++中把operator==定义为类的成员函数

 

Duree.h


#ifndef _DUREE_H
#define _DUREE_H
class Duree{
    public:
    Duree(int heures = 0,int minutes = 0,int secondes = 0);
    bool estEgal(Duree const &b)const;
    bool operator==(Duree const& other);//如果把operator==作为类的成员函数,那么只需要一个参数就够了
    private:
    int m_heures;
    int m_minutes;
    int m_secondes;

};
#endif

Duree.cpp


#include<iostream>
#include "Duree.h"
using namespace std;
Duree::Duree(int heures,int minutes,int secondes):m_heures(heures),m_minutes(minutes),m_secondes(secondes){
    cout<<m_heures<<" "<<m_minutes<<" "<<m_secondes<<endl;
}
bool Duree::estEgal(Duree const& other)const{
    return (m_heures==other.m_heures && m_minutes == other.m_minutes && m_secondes == other.m_secondes);
}

bool Duree::operator==(Duree const& other){
    return estEgal(other);
}

Duree_Main.cpp

#include<iostream>
#include "Duree.h"
using namespace std;

int main(){
    Duree first(10,10,10),second(15,20);
    if(first == second)
        cout<< "Les durees sont identiques"<<endl;
    else
        cout<< "Les durees sont differents"<<endl;

    return 0;
}

编译运行

在这里插入图片描述

参考

https://stackoverflow.com/questions/23162870/c-bool-operator

转载自原文链接, 如需删除请联系管理员。

原文链接:在C++中把operator==定义为类的成员函数,转载请注明来源!

0