美文网首页
c++操作符重载

c++操作符重载

作者: 76577fe9b28b | 来源:发表于2017-03-20 16:03 被阅读19次
一. +号操作符重载
1.在类中重载
  • 在 .h声明
 // +号操作符重载
    Point operator+(const Point &point);
  • 在 .cpp文件
Point Point::operator+(const Point &point){

     Point po(this->getX() + point.x, this->getY() + point.y);
     
    return po;
}
2.全局函数重载
  • 在 .h声明中声明友元函数
 // +号操作符重载
   friend Point operator+( Point &point1,  Point &point2);
  • 在函数外面定义全局函数
Point operator+(Point &point1,  Point &point2){
    
    Point po(point1.x + point2.x , point1.y + point2.y);
    
    return po;
}
二. 前++与后++
  • 在 .h 文件中
 //前++
 Point & operator++();
 //后++, 使用一个占位符来表示后++
 Point & operator++(int);
  • 在 .cpp中
 //前++
Point & Point::operator++(){

    this->x++;
    this->y++;
    return *this;
}
//后++
Point & Point::operator++(int){

    this->x++;
    this->y++;
    return *this;
}
二. 输出操作符<<重载

注意: 因为方法问题,cout只能在左边,所以<<操作符只能写成全局函数的重载,不能写在类中。

  • 在 .h中使用友元函数声明
friend const std::ostream & operator<<(const std::ostream &os, const Point &point);
  • 在 .cpp 中
//<<操作符只能写成全局的
const ostream & operator<<(const ostream &os, const Point &point){
    std::cout<<"x="<<point.x<<"   y="<<point.y<<std::endl;   
    return os;
}

相关文章

  • Kotlin --- Operator Overloading

    简述 Kotlin的操作符重载与C++类似,虽然没有C++那么强大,但是仍然可以实现Kotlin的操作符重载。 操...

  • C++基础-(重载)

    C++基础 重载 哪些运算符可以被重载:::,.,->,*,?:不能被重载 重载操作符的标志(operator) ...

  • C++中的操作符重载

    操作符重载 C++中的重载能够扩展操作符的功能 操作符的重载以函数的方式进行 本质:用特殊形式的函数扩展操作符的功...

  • C++学习笔记(七)操作符重载(上)

    1、基本操作符重载 操作符重载指的是将C++提供的操作符进行重新定义,使之满足我们所需要的一些功能。 在C++中可...

  • C++ 操作符重载

    操作符重载 操作符的重载是在实际的C++编程过程中不太容易引人注意但却非常实用的一个特性。合理的实现操作符重载可以...

  • 《C++ Primer Plus》第11章学习笔记

    内容思维导图 1. 操作符重载 操作符重载(Operator overloading)是一种形式的C++多态。第8...

  • 1.2.20_C++ 下标运算符 [] 重载

    C++ 重载运算符和重载函数 下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 C++ 数组的功能...

  • Geekband C++ 第五周

    概述 C++模板简介 函数模板 C++类模板 操作符重载 泛型编程 容器

  • 没有学不会的C++:复制操作符怎么写

    C++ 中的操作符重载可以让我们的代码更符合人们的阅读习惯,而 operator= 赋值操作符又是最常被重载的操作...

  • C++操作符重载

    重载操作符的限制 可以重载的操作符 不能重载的算符 操作符重载的语法形式 重载赋值操作符 重载+-*/运算操作符操...

网友评论

      本文标题:c++操作符重载

      本文链接:https://www.haomeiwen.com/subject/pwzbnttx.html