【面向对象程序设计常见面试题】运算符重载的三种方式?(7)
来源:互联网 发布:wirelessnet是什么网络 编辑:程序博客网 时间:2024/04/29 17:52
1、友元函数
class X{
friend 返回类型 operator 运算符(形参数);
}
返回类型 operator 运算符(形参表)
{
函数体
}
#include <iostream>using namespace std;class Complex{public: Complex(double r=0.0,double i=0.0); friend Complex operator+ (Complex& a,Complex& b); friend Complex operator++ (Complex& a); void show();private: double real; double imag;};Complex::Complex(double r,double i){ real = r; imag = i;}void Complex:: show(){ cout<<real<<" "<<imag<<endl;}Complex operator+ (Complex& a,Complex& b){ Complex temp; temp.real = a.real+b.real; temp.imag = a.imag+b.imag; return temp;}Complex operator++ (Complex& a){ ++a.real; ++a.imag; return a;}int main(){ Complex x1(20,5); Complex x2(21,5); Complex x3; x3 = x1+x2; x3.show(); +x3; x3.show(); return 0;}
2、类成员函数
class X{
返回类型 operator 运算符(形参数);
}
返回类型 class::operator 运算符(形参表)
{
函数体
}
#include <iostream>using namespace std;class Complex{public: Complex(double r=0.0,double i=0.0); Complex operator+ (Complex& a); Complex operator++ (); void show();private: double real; double imag;};Complex::Complex(double r,double i){ real = r; imag = i;}void Complex:: show(){ cout<<real<<" "<<imag<<endl;}Complex Complex::operator+ (Complex& a){ Complex temp; temp.real = a.real+real; temp.imag = a.imag+imag; return temp;}Complex Complex::operator++ (){ ++real; ++imag; return *this;}int main(){ Complex x1(20,5); Complex x2(21,5); Complex x3; x3 = x1+x2; x3.show(); +x3; x3.show(); return 0;}
class X{
friend 返回类型 operator 运算符(形参数);
}
返回类型 operator 运算符(形参表)
{
函数体
}
friend 返回类型 operator 运算符(形参数);
}
返回类型 operator 运算符(形参表)
{
函数体
}
class X{
friend 返回类型 operator 运算符(形参数);
}
返回类型 operator 运算符(形参表)
{
函数体
}
friend 返回类型 operator 运算符(形参数);
}
返回类型 operator 运算符(形参表)
{
函数体
}
0 0
- 【面向对象程序设计常见面试题】运算符重载的三种方式?(7)
- 【面向对象程序设计常见面试题】流运算符为什么不能通过类的成员函数重载?一般怎么解决?(7)
- 【面向对象程序设计常见面试题】赋值运算符和拷贝构造函数的区别与联系?(3)
- 面向对象的程序设计-8-运算符的重载-part1
- 面向对象的程序设计-10-()的运算符重载
- 面向对象的程序设计-8-运算符重载-part2
- 面向对象的程序设计-8-运算符重载-part3
- 面向对象的程序设计-9-赋值运算符重载
- 【面向对象程序设计常见面试题】判断题
- 【面向对象程序设计常见面试题】什么叫智能指针?
- 【面向对象程序设计常见面试题】赋值兼容(xx)
- 【面向对象程序设计常见面试题】类和对象之间的关系是什么?(11)
- 【面向对象程序设计常见面试题】类的声明和实现的分开的好处?
- 【面向对象程序设计常见面试题】对对象成员进行初始化的次序是什么?(11)
- 【面向对象程序设计常见面试题】虚函数是怎么实现的?(已阅)
- 【面向对象程序设计常见面试题】多态的作用?(已阅)
- 【面向对象程序设计常见面试题】派生新类的声明(xx)
- 【面向对象程序设计常见面试题】派生中构造函数的几点说明(xx)
- 二叉搜索树转换为有序双向链表
- 003_016 Python 查看汇率信息
- 分页查询语句数据库查询
- poj 2828
- Android开发之ViewPager滑动页面效果实现(源代码分享)
- 【面向对象程序设计常见面试题】运算符重载的三种方式?(7)
- codeforces 238 div2 ab
- 【面向对象程序设计常见面试题】流运算符为什么不能通过类的成员函数重载?一般怎么解决?(7)
- 我的IT成长路
- 中国人为什么学不会英语
- 【面向对象程序设计常见面试题】赋值运算符和拷贝构造函数的区别与联系?(3)
- ashx+jquery+ajax 不多数 上代码
- Matlab使用感想。。。痛并快乐着。。。。
- cocos2d:解决中文乱码方案-1