C++一元运算符的构造函数重载和友元函数重载
来源:互联网 发布:win10虚拟机装mac 编辑:程序博客网 时间:2024/05/20 07:14
/*======================================================================模板:1、模板函数 <-----> 模板类<span style="white-space:pre"></span> | v 标准模板类2、友元函数友元类3、静态成员函数静态数据成员4、运算符重载========================================================================运算符重载一元运算符重载负号的重载成员函数重载友元函数重载++符号的重载=======================================================================*/#include <iostream>using namespace std;class Coordinate{public://声明友元函数重载friend Coordinate *operator-(Coordinate &c);Coordinate(int x, int y){m_iX = x;m_iY = y;}//成员函数的重载负号Coordinate* operator-()//隐形的this指针一元运算 不传入参数{m_iX = -m_iX;m_iY = -m_iY;return this;//返回对象}//前置++运算符成员函数重载Coordinate* operator++()//隐形的this指针一元运算 不传入参数{++m_iX;++m_iY;return this;//返回对象}//后置++运算符成员函数重载Coordinate operator++(int)//隐形的this指针一元运算 不传入参数但是为了区分前置++ 加入int作为标志 //返回一个对象{Coordinate old(this->m_iX,this->m_iY);++m_iX;++m_iY;return old;//返回对象}void print(){cout << m_iX << "" << m_iY << endl;}private:int m_iX;int m_iY;};//友元函数重载Coordinate *operator-(Coordinate &coor)//传入参数 和返回参数都可以用 指针或者引用 {coor.m_iX= -coor.m_iX;coor.m_iY= -coor.m_iY;return &coor;}int main(){Coordinate coor(1, 2);++coor;//调用成员函数重载operator-(coor)coor++;//operatoe++(0)operator-(coor);//调用友元函数重载coor.print();}
0 0
- C++一元运算符的构造函数重载和友元函数重载
- 成员函数和友元函数 完成二元和一元运算符重载(进阶1)
- 成员函数和友元函数完成一元运算符重载
- 成员函数和友元函数实现一元运算符重载
- 【C++】成员函数重载二元和一元运算符
- 运算符重载和友元函数
- 友元函数和运算符重载
- 运算符重载和友元函数
- 成员函数重载运算符和友元函数重载运算符的比较
- 成员函数重载运算符和友元函数重载运算符的比较
- 成员函数重载运算符和友元函数重载运算符的比较
- 成员函数重载运算符和友元函数重载运算符的比较
- 成员函数重载运算符和友元函数重载运算符的比较
- 【C++】重载运算符和重载函数
- 【C++】复制构造函数(拷贝构造函数)和=运算符重载使用的区别
- 重载运算符之友元函数和成员函数
- 十七、运算符重载(一) 成员函数重载、友元函数重载、运算符重载规则
- [C++]拷贝构造函数和赋值运算符重载
- 网站开发进阶(三十二)HTML5之FileReader的使用
- python 基本Kmeans算法实现
- java 反射
- 大型网站架构系列:消息队列
- 从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets
- C++一元运算符的构造函数重载和友元函数重载
- C++ inline 函数
- runtime 优化归档 ,替换方法
- layoutSubviews方法与drawRect方法的调用条件
- MVP模式
- C++的命名空间
- 杭电ACM吃糖果问题
- [疯狂Java]Swing
- 向大牛迈进