c++中的运算符重载---知识点:运算符重载函数,友元函数,函数重载
生活随笔
收集整理的這篇文章主要介紹了
c++中的运算符重载---知识点:运算符重载函数,友元函数,函数重载
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一.前言
目前在準備考研中,順便水幾篇博客,找找樂子。代碼部分均為原創(chuàng),都是自己的思路解題。
二.內(nèi)容
題目:定義一個復數(shù)類Complex,重載運算符“+”,使之能用于復數(shù)的加法運算。參加運算的兩個運算量可以都是類對象,也可以其中有一個是整數(shù),順序任意。例如,c1+c2,i+cl,cl+i均合法(設(shè)i為整數(shù)cl,c2為復數(shù))。編寫程序,分別求兩個復數(shù)之和、整數(shù)和復數(shù)之和。
三.代碼
#include<iostream> using namespace std; class Complex{public:Complex(){real=0;imag=0;}Complex(double r,double i):real(r),imag(i){}void display();//顯示復數(shù)Complex operator+(Complex &y);Complex operator+(int&a);//重載運算符+ ,適用于一個復數(shù),一個整數(shù) friend Complex operator+(int&a,Complex &comp);//重載運算符+ ,適用于一個整數(shù),一個復數(shù)private:double real;//實根 double imag;//虛根 }; void Complex::display() {//顯示復數(shù)cout<<"("<<real<<","<<imag<<"i)"; }Complex Complex:: operator+(Complex &y){//重載運算符+ ,適用于兩個復數(shù) return Complex(real+y.real,imag+y.imag); }Complex Complex:: operator+(int&a){//重載運算符+ ,適用于一個復數(shù),一個整數(shù)return Complex(real+a,imag); }Complex operator+(int&a,Complex &comp){//重載運算符+ ,適用于一個整數(shù),一個復數(shù)return Complex(comp.real+a,comp.imag); }int main(){Complex c1(3,4),c2(5,-10),c3;c3=c1+c2;cout<<"c1+c2=";c3.display() ;cout<<endl;int i=5;c3=i+c1;cout<<i<<"+";c1.display() ;cout<<"=";c3.display() ;c3=c1+i;cout<<endl;c1.display() ;cout<<"+"<<i;cout<<"=";c3.display() ;return 0; }總結(jié)
以上是生活随笔為你收集整理的c++中的运算符重载---知识点:运算符重载函数,友元函数,函数重载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 读写CSV文件
- 下一篇: ksh简介