利用友元函数实现对运算符的重载
2014-04-19 11:48
267 查看
/* *Copyright (c) 2013 ,烟台大学计算机与控制工程学院 *All rights reserved. *作者:王至超 *完成日期:2014年04月19 *版本号:v1.0 *问题描述: *样例输入: *样例输出: *问题分析:用简单的方法,学会活学活用 */ #include <iostream> using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r; imag=i;} friend Complex operator+(Complex &c1,Complex &c2); friend Complex operator-(Complex &c1,Complex &c2); friend Complex operator*(Complex &c1,Complex &c2); friend Complex operator/(Complex &c1,Complex &c2); void display(); private: double real; double imag; }; Complex operator+(Complex &c1,Complex &c2) { return Complex (c1.real+c2.real,c1.imag+c2.imag); } Complex operator-(Complex &c1,Complex &c2) { return Complex (c1.real-c2.real,c1.imag-c2.imag); } Complex operator*(Complex &c1,Complex &c2) { return Complex (c1.real*c2.real,c1.imag*c2.imag); } Complex operator/(Complex &c1,Complex &c2) { return Complex (c1.real/c2.real,c1.imag/c2.imag); } void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } //下面定义用于测试的main()函数 int main() { Complex c1(3,4),c2(5,-10),c3; cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); c3=c1+c2; cout<<"c1+c2="; c3.display(); c3=c1-c2; cout<<"c1-c2="; c3.display(); c3=c1*c2; cout<<"c1*c2="; c3.display(); c3=c1/c2; cout<<"c1/c2="; c3.display(); return 0; }
相关文章推荐
- 实现复数类中运算符的重载(利用友元函数)
- 利用友元函数实现复数中运算符的重载
- 第八周上机项目一(2):用类的友元函数实现运算符的重载
- 【项目1】实现复数类中的运算符重载--用类的友元函数,完成运算符的重载;
- 项目一利用友元函数完成运算符的重载
- 2013-4-19.2~用类的友元函数实现运算符的重载
- 8-1-2友元函数实现复数运算符的重载
- 第9周任务3(实现分数类中<<和>>运算符的重载)
- 成员函数和友元函数完成一元运算符重载
- 第八周项目三-实现分数类的运算符的重载
- c++日期类的实现级运算符的重载
- 第十八章 34用重载输入运算符函数实现字符串的输入
- 解析C++中不能重载为友元函数的四个运算符
- c#实现算术运算符的重载(关键字operator)
- 第八周项目一(2)友元函数对运算符的重载
- 实现复数类中的运算符重载
- 《第九周任务一》定义Complex类中的《《和》》运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然
- C++11:模板实现opencl向量类型(cl_intn,cl_floatn...)的简单运算符(+,-)重载及length,distance函数
- 第八周项目一の任务二----用类的友元函数来完成运算符的重载
- 项目1:任务2:用类的友元函数完成运算符的重载