程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 8-1————復數類的重載運算符 任務一

8-1————復數類的重載運算符 任務一

編輯:C++入門知識

[cpp]
/*
*【項目1】實現復數類中的運算符重載
* 程序的版權和版本聲明部分 
* Copyright (c)2012, 煙台大學計算機學院學生 
* All rightsreserved. 
* 文件名稱: object.cpp 
* 攻城菜鳥:蛋蛋 
* 完成日期: 2013年  4 月  18 日 
* 版本號: v1.0 
* 輸入描述:兩個復數的真部和虛部
* 問題描述:任務一:請用類的成員函數完成運算符的重載;定義一個復數類重載運算符+、-、*、/,使之能用於復數的加減乘除
* 程序輸出:使用運算符運算的結果
*/   
#include <iostream>  
 
using namespace std; 
 
class Complex 
{public: 
    Complex(){real=0;imag=0;} 
    Complex(double r,double i){real=r;imag=i;} 
    Complex operator+(Complex &c2); 
    Complex operator-(Complex &c2); 
    Complex operator*(Complex &c2); 
    Complex operator/(Complex &c2); 
    void display(); 
 private: 
    double real; 
    double imag; 
}; 
//下面定義成員函數  
Complex Complex:: operator+(Complex &c2){ 
     return Complex(real+c2.real,imag+c2.imag); 

Complex Complex:: operator-(Complex &c2){ 
    return Complex(real-c2.real,imag-c2.imag); 
 } 
Complex Complex:: operator*(Complex &c2){ 
    return Complex(real*c2.real-imag*c2.imag,real*c2.imag+c2.real*imag); 
 } 
Complex Complex:: operator/(Complex &c2){ 
    return Complex((real*c2.real-imag*c2.imag)/(c2.real*c2.real-c2.imag*c2.imag),+(real*c2.imag-c2.real*imag)/(c2.real*c2.real-c2.imag*c2.imag)); 
 } 
void Complex::display(){ 
cout<<"("<<real<<","<<imag<<"i)"<<endl; 

//下面是測試函數  
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; 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved