iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中如何将operator==定义为类的成员函数
  • 765
分享到

C++中如何将operator==定义为类的成员函数

C++ operatorC++类的成员函数C++成员函数 2023-01-28 12:01:30 765人浏览 薄情痞子
摘要

目录c++将operator==定义为类的成员函数C++对operator=进行重写总结C++将operator==定义为类的成员函数 Duree.h #ifndef _DUREE_

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=进行重写



#include<iostream>
using namespace std;

class Example{
    std::string* ptr;
    public:
    Example():ptr(new std::string){}//new std::string返回的值是存储字符串的地址
    Example(const std::string& str):ptr(new std::string(str)){}
    Example(const Example& example):ptr(new std::string(example.content())){};
    ~Example(){delete ptr;}
    const std::string& content()const{return *ptr;}
    Example& operator= (const Example& x){
        cout<<"执行了"<<endl;
        delete ptr;//释放指针指向的字符串占用的内存
        ptr = new string(x.content());
        return *this;
    }
    Example operator+(const Example & rhs){
        return Example(content()+rhs.content());
    }

    void print_infORMation()const{
        cout<< *ptr<<endl;
    }
};

int main(){
    Example bar1("hello");
    bar1.print_information();
    Example bar2("world");
    bar2.print_information();
    Example bar3 = Example(bar1);
    bar3.print_information();
    Example bar4 = bar2;
    bar4.print_information();

    Example foo("Exam");
    Example ba = Example("ple");
    foo = foo + ba;
    cout<<"foo's content:"<<foo.content()<<endl;


    
    return 0;
}

编译执行

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C++中如何将operator==定义为类的成员函数

本文链接: https://www.lsjlt.com/news/178447.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中如何将operator==定义为类的成员函数
    目录C++将operator==定义为类的成员函数C++对operator=进行重写总结C++将operator==定义为类的成员函数 Duree.h #ifndef _DUREE_...
    99+
    2023-01-28
    C++ operator C++类的成员函数 C++成员函数
  • c++中如何定义类,属性,和成员函数
    类是 c++ 中封装数据的模板,可以通过以下步骤定义:使用 class 关键字定义类名及其范围。在私有部分定义数据成员(属性)。在公共部分定义成员函数(方法),用于操作这些数据。 如何...
    99+
    2024-05-12
    c++
  • C++中Operator类型强制转换成员函数解析
    类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换。转换操作符在类定义体内声明,在保留字 operato...
    99+
    2022-11-15
    类型强制转换 Operator C++
  • C++中的类成员函数当线程函数
    目录类成员函数当线程函数解决方法一解决方法二解决方法三类成员函数作为多线程的入口类成员函数当线程函数 C++类成员函数使用时,都会隐式传递一个this指针给该函数,this指针指向该...
    99+
    2022-11-13
    C++类成员函数 C++线程函数 C++成员函数
  • C++ 中如何定义函数?
    在 c++++ 中定义函数的指南:使用语法 return_type function_name(parameter_list) 定义函数。为函数指定返回类型、名称和参数列表。在函数体中编...
    99+
    2024-04-12
    c++ 函数定义
  • 如何将自定义函数集成到PHP代码中?
    在 php 中,您可以通过三个步骤集成自定义函数:创建函数加载函数调用函数这可通过以下方式应用于实际案例:创建一个计算矩形面积的自定义函数在代码中加载该函数调用函数多次以计算不同矩形的面...
    99+
    2024-04-18
    php 自定义函数 代码可读性
  • C++中类的默认成员函数详解
    目录一、构造函数二、析构函数三、拷贝构造函数四、赋值函数(赋值运算符重载)总结C++中,对于任意一个类,都会为我们提供4个默认的成员函数(如果我们不显示的去声明)—&md...
    99+
    2024-04-02
  • 如何定义C++中的C++数据类型
    这篇文章给大家介绍如何定义C++中的C++数据类型,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。着重介绍C++数据类型,C++中的C++数据类型定义编译器在内存中存放信息的方式,在不同的开发环境中,可以向变量赋予任何数...
    99+
    2023-06-17
  • 如何将“接口”定义为开放API中的数据类型?
    php小编苹果将为大家介绍如何将“接口”定义为开放API中的数据类型。在开放API中,接口扮演着重要的角色,它定义了系统与外部应用程序之间的通信规则。将接口定义为开放API中的数据类型...
    99+
    2024-02-09
  • C++ 函数中是如何定义返回值类型的?
    c++++ 函数中返回值类型的定义在函数签名的括号前。它表示函数返回的数据类型:return_type function_name(parameter_list)例如,如果函数返回整数和...
    99+
    2024-04-13
    函数 c++ 返回值类型
  • C++成员函数中const如何使用
    本篇内容介绍了“C++成员函数中const如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!修饰入参首先我们要明白在C++中调用函数时存...
    99+
    2023-06-29
  • C++中类的默认成员函数怎么用
    这篇文章主要介绍了C++中类的默认成员函数怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。C++中,对于任意一个类,都会为我们提供4个默认的成员函数(如果我们不显示的去声...
    99+
    2023-06-29
  • C++中如何定义类
    这篇文章给大家介绍C++中如何定义类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是C++类C++类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,***...
    99+
    2023-06-17
  • C++中如何使用成员函数指针
    C++中如何使用成员函数指针,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一个成员函数的指针指向类中的一个成员函数,并和以前有相同的参数,声明如下:float (...
    99+
    2023-06-17
  • C++ 函数异常处理中的异常类如何定义?
    c++++ 中定义异常类:需从 std::exception 派生新类,重写 what 虚函数提供异常消息;如例所示,myexception 类重写 what 返回异常消息。实战案例中,...
    99+
    2024-04-16
    异常处理 异常类 c++
  • 详解C++中类的六大默认成员函数
    目录一、类的默认成员函数二、构造函数Date(形参列表)1、构造函数的函数名和返回值2、构造函数的调用3、构造函数的重载4、系统生成的默认构造函数5、系统生成的默认构造函数的作用6、...
    99+
    2022-11-13
    C++类默认成员函数 C++类六大默认成员函数 C++类成员函数
  • C++类中的六大默认成员函数详解
    在C++中,当你去创建一个类的时候,即便这个类是空类,也会自动生成下面6个默认成员函数,在本篇博客中,我将逐一分析下面6个默认成员函数。 构造函数 构造函数并不是去构造函数的函数,...
    99+
    2024-04-02
  • C++类中六个默认的成员函数详解
    目录浅谈构造函数析构函数拷贝构造函数赋值重载函数const成员函数取地址及const取地址重载函数深挖 构造函数拷贝构造函数赋值运算符重载函数总结浅谈 先来说一下“this...
    99+
    2024-04-02
  • C++中的自定义函数返回类型
    目录C++自定义函数返回类型知识点小结C++函数返回值是自定义类型情况1 返回值是自定义类的非引用类型2 返回值是自定义类的引用类型C++自定义函数返回类型 知识点小结 C++的基本...
    99+
    2022-11-13
    C++自定义函数 自定义函数返回类型 C++函数返回类型
  • C++类的默认成员函数有哪些
    本文小编为大家详细介绍“C++类的默认成员函数有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++类的默认成员函数有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。类的默认成员函数每个类中,如果不主动实...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作