Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2506228
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-11-22 14:40:55

    定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算符可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1 + c2,i + c1,c1 + i均合法(设i为整数,c1,c2为复数)。编写程序,分别求两个复数之和、整数和复数之和。

#include <iostream>
using namespace std;

//复数类

class Complex
{
      public:
      Complex(){real = 0;imag = 0;}
      Complex(double r){real = r;imag = 0;}
      Complex(double r,double i){real = r;imag = i;}
      void display();
      friend Complex operator +(Complex c1,Complex c2);//重载操作符+

      private:
      double real;
      double imag;
};

void Complex::display()
{
    cout << "(" << real << "," << imag << "i)" << endl;
}

Complex operator +(Complex c1,Complex c2)
{
    Complex c;
    c.real = c1.real + c2.real;
    c.imag = c1.imag + c2.imag;
    return c;
}

int main()
{
    Complex c1(3,4),c2(5,-10);
    Complex c7;
    c7 = c1 + 3.3;
    cout << "c1=";c1.display();
    cout << "c2=";c2.display();
    cout << "c1 + 3.3=";c7.display();
    system("pause");
    return 0;
}


阅读(3729) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~